Files
student_manage_system/stu_jiuye/CURD_api.py
T

80 lines
2.5 KiB
Python
Raw Normal View History

2026-09-20 21:20:12 +08:00
import datetime
from fastapi import APIRouter,Depends,HTTPException
from dao import *
from stu_jiuye.request import PostRequest, EmpResponse, AddRequest,AddResponse,CompRequest,CompResponse
2026-09-20 21:20:12 +08:00
from database import get_db
CURD=APIRouter()
@CURD.get('/emp',tags=['查询就业信息'])
2026-09-20 21:20:12 +08:00
def get_stuinfo(
2026-09-21 15:07:50 +08:00
stuname:str| None = None
,compname:str|None=None
2026-09-20 21:20:12 +08:00
,min_salary:int=0
,max_salary:int|None=None
,db=Depends(get_db)
):
2026-09-21 15:07:50 +08:00
r=get_emp_dao(
stuname,
compname,
2026-09-20 21:20:12 +08:00
db,
min_salary,
max_salary)
if r:
return r
raise HTTPException(status_code=404, detail='名单不存在!')
@CURD.post('/emp',response_model=EmpResponse,tags=['新增就业信息'])
2026-09-20 21:20:12 +08:00
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='服务器繁忙,请稍后添加!')
2026-09-21 15:07:50 +08:00
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()
2026-09-21 12:22:26 +08:00
r = add_address_dao(o=d, db=db)
if not r:
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!')
2026-09-21 15:07:50 +08:00
return AddResponse(totals=1, data=d)
@CURD.put('/emp',tags=['更改就业信息'])
2026-09-21 15:35:45 +08:00
def updata_stuinfo(up:PostRequest
2026-09-20 21:20:12 +08:00
,id:int
,db=Depends(get_db)
):
2026-09-21 15:35:45 +08:00
d = up.model_dump(exclude_unset=True)
r = update_emp_dao(id=id, update_data=d, db=db)
2026-09-20 21:20:12 +08:00
if not r:
raise HTTPException(status_code=500, detail='没有更新!')
return {'code': 200, 'totals': r, 'detail': '更新成功'}
2026-09-21 16:18:59 +08:00
@CURD.delete('/emp/{id}',tags=['删除就业信息'])
2026-09-20 21:20:12 +08:00
def delete_stuinfo(id:int
,db=Depends(get_db)):
2026-09-21 15:35:45 +08:00
rows = delete_emp_dao(id, db)
2026-09-20 21:20:12 +08:00
if not rows:
raise HTTPException(status_code=500, detail='没有删除!')
return {'code': 200, 'totals': rows, 'detail': '删除成功'}