Files
stu_teacher/api/__pycache__/employment.cpython-310.pyc
T

36 lines
5.7 KiB
Plaintext
Raw Normal View History

2026-09-21 23:17:51 +08:00
o
Û!±j@ã@sîddlmZmZmZmZddlmZddlmZm Z m
Z
ddl m Z ddl
mZddlmZddlmZddlmZmZmZmZmZmZeƒZd ed
ed efd d
„Zd ed
edefdd„Zd efdd„Zej dedd�eeƒee ddƒƒfded edefdd„ƒZ!ej dedd�eeƒee ddƒƒfded edefdd„ƒZ"ej#d ed!d�eeƒeeƒfded edefd"d#„ƒZ$ej#d$ed%d�eddd&�ed'd(d)d*�eeƒee ddƒƒfd+ed,ed-ed edef
d.d/„ƒZ%ej#d0ed1d�eddd&�ed'd(d)d*�ed2d(d3d4�ed2d5d6�ed2dd7d4�ed2dd8d4�eeƒee ddƒƒfd,ed-eded9e&d:e'd;e'd edefd<d=„ƒZ(ej)d>ed?d�ed@d(dAd4�eeƒee ddƒƒfdeded edefdBdC„ƒZ*ej+dDdEdFdG�ed@d(dAd4�eeƒee ddƒƒfded edefdHdI„ƒZ,d2S)Jé)Ú APIRouterÚDependsÚ
HTTPExceptionÚQuery)ÚSession)Úget_current_userÚ
require_rolesÚget_teacher_class_ids)Ú
EmploymentDAO)Ú
StudentDAO)Úget_db)ÚUser)ÚEmploymentOpenÚOfferAddÚEmploymentUpdateÚ
OfferResponseÚEmploymentResponseÚEmploymentListResponseÚdbÚuserÚreturncCs.|jdkrdS|jdkr|jt||jƒvSdS)NÚadminTÚteacherF)ÚroleÚclass_idr Ú
teacher_id)rrÚstudent©rúUC:\Users\Windows\WorkBuddy\2026-09-21-19-29-22\walin_student_system\api\employment.pyÚ_can_manage_student_employments

rÚstu_idcCs<t ||¡}|durtddd�‚t|||ƒstddd�‚|S)uH公共校验:学生存在 + æ“�作者有æ�ƒç®¡ç�†è¯¥å­¦ç”Ÿå°±ä¸šä¿¡æ�¯Né”u$学生ä¸�存在,或已被软删除©Ú status_codeÚdetailé“u9教师å�ªèƒ½ç®¡ç�†è‡ªå·±æ‰€å¸¦ç�­çº§å­¦ç”Ÿçš„就业信æ�¯)r Ú
get_activerr)rrr rrrrÚ_check_student_manages    r'cCs$t |¡}dd„|jp gDƒ|_|S)NcSsg|]}t |¡‘qSr)rÚmodel_validate)Ú.0ÚorrrÚ
<listcomp>+sz _to_response.<locals>.<listcomp>)rr(Úoffers)Údb_baseÚresprrrÚ _to_response)s
r/z/openu9登记就业开放(学生状æ€�è�”动→进入就业))Úresponse_modelÚsummaryrrÚbodyÚ current_usercÃsH�t|||jƒt ||j¡}|rtddd�‚t ||j|j¡}t|ƒS)Ni™u3该学生已登记就业开放,请勿é‡�å¤�登记r")r'r r
Úget_baserÚopen_employmentÚemployment_open_timer/)r2rr3Úexistingr-rrrr50s€ r5z/offeru/登记offer(学生状æ€�è�”动→已就业)cÃsv�t|||jƒt ||j¡}|durtddd�‚|j|jkr%tddd�‚t ||j|j|j|j ¡t
t ||j¡ƒS)Nr!uA该学生尚未登记就业开放,请先调用 /employment/openr"é�u/offer下å�‘æ—¶é—´ä¸�能早于就业开放时间) r'r r
r4rÚ
offer_timer6Ú add_offerÚ company_nameÚsalaryr/)r2rr3r-rrrr:?s€   r:z/students/{stu_id}u查询学生就业信æ�¯cÃsJ�|jdkr|j|krtddd�‚t ||¡}|dur!tddd�‚t|ƒS)Nrr%u-学生角色å�ªèƒ½æŸ¥çœ‹è‡ªå·±çš„就业信æ�¯r"r!õ该学生暂无就业信æ�¯)rr rr
Úget_by_studentr/)r rr3r-rrrÚget_student_employmentPs€   r?z/class/{class_id}u查询ç�­çº§å­¦ç”Ÿå°±ä¸šä¿¡æ�¯)ÚgeédééÈ)r@ÚlerÚskipÚlimitcÃs.�tj||||d�\}}t|dd„|Dƒd�S)N)rErFcSóg|]}t|ƒ‘qSr©r/©r)Úbrrrr+hóz(get_class_employment.<locals>.<listcomp>©ÚtotalÚitems)r
Z get_by_classr)rrErFrr3rMrNrrrÚget_class_employment_s€rOz /total_queryu;多æ�¡ä»¶æŸ¥è¯¢å°±ä¸šä¿¡æ�¯ï¼ˆå­¦å�·/å…¬å�¸/薪资范围)Nu按学å�·ç²¾ç¡®æŸ¥è¯¢)r@Ú descriptionu按公å�¸å��称模糊查询)rPu 薪资下é™�u 薪资上é™�r;Ú
salary_minÚ
salary_maxc
Ãs4�tj|||||||d�\}} t|dd„| Dƒd�S)N)rErFr r;rQrRcSrGrrHrIrrrr+€rKz$query_employment.<locals>.<listcomp>rL)r
Úget_allr)
rErFr r;rQrRrr3rMrNrrrÚquery_employmentls€ 
ù rTz/updateu修改学生就业基础信æ�¯.u 学生编å�·cÃsV�t|||ƒ|jddd�}|stddd�‚t |||¡}|dur'tddd�‚t|ƒS)NT)Ú
exclude_unsetÚ exclude_noner8u$至少æ��供一个è¦�修改的字段r"r!r=)r'Ú
model_dumprr
Ú update_baser/)r2r rr3Z update_datar-rrrÚupdate_employment„s€   rYz/deleteéÌuB删除学生就业信æ�¯ï¼ˆé€»è¾‘删除,状æ€�回退为在读))r#r1cÃs.�t|||ƒt ||¡}|stddd�‚dS)Nr!r=r")r'r