就业get次昂管的dao层和api接口
This commit is contained in:
@@ -1,25 +1,44 @@
|
||||
from fastapi import APIRouter,Depends,HTTPException
|
||||
|
||||
from dao import employment_dao
|
||||
from dao.employment_dao import get_employment_dao
|
||||
from schema.employment_schema import EmploymentResponse
|
||||
from model.all_model import ClassManagement,Employment_info
|
||||
from dao.employment_dao import get_emp_dao, add_emp_dao, check_stu_dao, update_emp_dao, delete_emp_dao
|
||||
from schema.employment_schema import EmploymentRequest,EmploymentResponse
|
||||
from util.database import get_db
|
||||
emp_api = APIRouter(tags=['学生就业管理系统'])
|
||||
@emp_api.get('/employment/students/{stu_id}',response_model=EmploymentResponse,summary='获取学生就业信息')
|
||||
def get_emp_info1(stu_id: int,db=Depends(get_db)):
|
||||
if stu_id:
|
||||
return employment_dao.get_employment_dao(stu_id=stu_id,db=db)
|
||||
return [employment_dao.get_emp_dao(stu_id=stu_id,db=db)]
|
||||
raise HTTPException(status_code=404, detail='该学生就业信息不存在')
|
||||
|
||||
@emp_api.get('/employment/class/{class_id}',response_model=EmploymentResponse,summary='获取班级学生就业信息')
|
||||
def get_emp_info2(class_id: int,db=Depends(get_db)):
|
||||
if class_id:
|
||||
return employment_dao.get_employment_dao(class_id=class_id,db=db)
|
||||
return employment_dao.get_emp_dao(class_id=class_id,db=db)
|
||||
raise HTTPException(status_code=404, detail='该班级就业信息不存在')
|
||||
|
||||
# @emp_api.post('/employment/students/{stu_id}')
|
||||
# def create_emp_info(stu_id: int,db=Depends(get_db),response_model=EmploymentResponse):
|
||||
# if stu_id:
|
||||
#
|
||||
# return employment_dao.
|
||||
@emp_api.post('/employment/students/{stu_id}',response_model=EmploymentResponse,summary='新增学生就业信息')
|
||||
def create_emp_info(stu_id:int,emp:EmploymentRequest,db=Depends(get_db)):
|
||||
if not check_stu_dao(stu_id,db):
|
||||
raise HTTPException(status_code=404, detail='该学生不存在,无法添加就业信息')
|
||||
emp.stu_id = stu_id
|
||||
exist = db.query(employment_dao.Employment_info).filter(employment_dao.Employment_info.stu_id == stu_id,employment_dao.Employment_info.delete_status == 0).first()
|
||||
if exist:
|
||||
raise HTTPException(status_code=409,detail='该学生已有就业信息,请勿重复增加!')
|
||||
d=emp.model_dump(exclude_unset=False)
|
||||
r=add_emp_dao(d,db)
|
||||
if not r:
|
||||
raise HTTPException(status_code=500,detail='服务器繁忙,请稍后添加!')
|
||||
return r
|
||||
|
||||
@emp_api.put('/employment/students/{stu_id}',response_model=EmploymentResponse,summary='更新学生就业信息')
|
||||
def update_emp_info(emp_id:int,emp:EmploymentRequest,db=Depends(get_db)):
|
||||
d = emp.model_dump(exclude_unset=True)
|
||||
r = update_emp_dao(emp_id,d,db)
|
||||
if not r:
|
||||
raise HTTPException(status_code=500,detail='更新失败!')
|
||||
return {'code':200,'totals':r,'detail':'更新成功!'}
|
||||
|
||||
@emp_api.delete('/employment/{emp_id}',summary='删除学生就业信息')
|
||||
def delete_emp_info(emp_id:int,db=Depends(get_db)):
|
||||
delete_emp_dao(emp_id,db)
|
||||
return {'code':200,'detail':'删除成功!'}
|
||||
|
||||
Reference in New Issue
Block a user