2026-09-21 14:13:23 +08:00
|
|
|
from fastapi import Query,HTTPException
|
|
|
|
|
from pydantic import BaseModel, field_validator
|
2026-09-21 16:48:27 +08:00
|
|
|
from datetime import date
|
|
|
|
|
from typing import Optional
|
2026-09-21 14:13:23 +08:00
|
|
|
|
2026-09-21 18:02:12 +08:00
|
|
|
class EmploymentRequest(BaseModel):
|
2026-09-21 14:13:23 +08:00
|
|
|
stu_id: int=Query(ge=1)
|
|
|
|
|
email: str|None
|
2026-09-21 16:48:27 +08:00
|
|
|
employment_opening_date:date
|
|
|
|
|
offer_issuance_date:date
|
2026-09-21 14:13:23 +08:00
|
|
|
company_name:str
|
|
|
|
|
company_address:str|None
|
|
|
|
|
salary:float
|
|
|
|
|
|
|
|
|
|
@field_validator('stu_id')
|
|
|
|
|
def check(cls,n):
|
|
|
|
|
i = cls.model_dump()
|
|
|
|
|
if i['stu_id'] == n:
|
|
|
|
|
return n
|
|
|
|
|
raise HTTPException(status_code=404,detail='未找到该学生的就业信息!')
|
|
|
|
|
|
|
|
|
|
class EmploymentResponse(BaseModel):
|
|
|
|
|
code:int = 200
|
|
|
|
|
detail:str = 'OK'
|
2026-09-21 16:48:27 +08:00
|
|
|
emp_id:int
|
2026-09-21 14:13:23 +08:00
|
|
|
stu_id: int
|
2026-09-21 16:48:27 +08:00
|
|
|
stu_name:Optional[str] = None
|
|
|
|
|
class_id:int
|
2026-09-21 14:13:23 +08:00
|
|
|
email: str | None
|
2026-09-21 16:48:27 +08:00
|
|
|
employment_opening_date: date
|
|
|
|
|
offer_issuance_date: date
|
2026-09-21 14:13:23 +08:00
|
|
|
company_name: str
|
|
|
|
|
company_address: str | None
|
|
|
|
|
salary: float
|