94 lines
4.3 KiB
Python
94 lines
4.3 KiB
Python
import datetime
|
|
|
|
from fastapi import APIRouter,Depends,HTTPException
|
|
from dao import *
|
|
from stu_jiuye.request import PostRequest, EmpResponse, AddRequest,AddResponse,CompRequest,CompResponse
|
|
from database import get_db
|
|
CURD=APIRouter()
|
|
|
|
|
|
@CURD.get('/emp',tags=['查询就业信息'])
|
|
def get_stuinfo( #查询学生就业信息
|
|
stuname:str| None = None
|
|
,stuclass:str| None = None
|
|
,compname:str|None=None
|
|
,min_salary:int=0
|
|
,max_salary:int|None=None
|
|
,somewhere:str|None=None
|
|
,employment_open_date:datetime.date|None=None
|
|
,offer_date:datetime.date|None=None
|
|
,db=Depends(get_db)
|
|
): #查询条件
|
|
r=get_emp_dao( #调用函数
|
|
stuname,
|
|
stuclass,
|
|
compname,
|
|
min_salary,
|
|
max_salary,
|
|
somewhere,
|
|
employment_open_date,
|
|
offer_date,
|
|
db
|
|
)
|
|
if r:
|
|
return r #成功返回
|
|
raise HTTPException(status_code=404, detail='名单不存在!') #失败返回错误信息
|
|
|
|
@CURD.post('/emp',response_model=EmpResponse,tags=['新增就业信息'])
|
|
def add_stuinfo( #新增学生就业信息
|
|
p:PostRequest,db=Depends(get_db)
|
|
): #调用请求体
|
|
d=p.model_dump() #解析成字典
|
|
r=add_employment_dao(o=d,db=db) #调用函数
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!') #失败返回错误
|
|
return EmpResponse(totals=1, data=d) #成功返回响应体
|
|
|
|
@CURD.post('/emp/company',response_model=CompResponse,tags=['新增公司信息'])
|
|
def add_company( #新增公司表信息
|
|
c:CompRequest,db=Depends(get_db)
|
|
):
|
|
d = c.model_dump() #解析
|
|
r = add_company_dao(o=d, db=db) #调用添加公司函数
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!') #失败返回错误信息
|
|
return CompResponse(totals=1, data=d) #成功返回响应体
|
|
|
|
|
|
@CURD.post('/emp/company/address',response_model=AddResponse,tags=['新增公司所在区域'])
|
|
def add_address( #新增公司地址区域信息
|
|
add:AddRequest,db=Depends(get_db)
|
|
):
|
|
d = add.model_dump() #解析
|
|
r = add_address_dao(o=d, db=db) #调用添加地址函数
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!') #失败返回错误信息
|
|
return AddResponse(totals=1, data=d) #成功返回响应体
|
|
|
|
|
|
@CURD.put('/emp',tags=['更改就业信息'])
|
|
def updata_stuinfo( #更新数据模块
|
|
up:PostRequest
|
|
,id:int
|
|
,db=Depends(get_db)
|
|
): #根据id选择对象
|
|
d = up.model_dump(exclude_unset=True) #解析
|
|
r = update_emp_dao(id=id, update_data=d, db=db) #调用更新函数
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='没有更新!') #失败返回错误信息
|
|
return {'code': 200, 'totals': r, 'detail': '更新成功'} #成功返回信息
|
|
|
|
@CURD.delete('/emp/{id}',tags=['删除就业信息'])
|
|
def delete_stuinfo( #删除模块
|
|
id:int
|
|
,db=Depends(get_db)
|
|
): #根据id选择对象
|
|
rows = delete_emp_dao(id, db) #调用删除函数
|
|
if not rows:
|
|
raise HTTPException(status_code=500, detail='没有删除!') #失败返回错误信息
|
|
return {'code': 200, 'totals': rows, 'detail': '删除成功'} #成功返回信息
|
|
|
|
|
|
|
|
|