From 3f75a75f7667dbe058bf2585544c120ec79a7d4d Mon Sep 17 00:00:00 2001 From: wolin_chenyulin001 <123@163.com> Date: Mon, 21 Sep 2026 17:48:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=B1=E4=B8=9Aget=E6=AC=A1=E6=98=82?= =?UTF-8?q?=E7=AE=A1=E7=9A=84dao=E5=B1=82=E5=92=8Capi=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/api/employment_api.py | 11 ++--- PythonProject/dao/employment_dao.py | 74 ++++++++++++++++------------- 2 files changed, 45 insertions(+), 40 deletions(-) diff --git a/PythonProject/api/employment_api.py b/PythonProject/api/employment_api.py index 71a8ca5..a5ee446 100644 --- a/PythonProject/api/employment_api.py +++ b/PythonProject/api/employment_api.py @@ -13,7 +13,7 @@ def get_emp_info1(stu_id: int,db=Depends(get_db)): if stu_id: return employment_dao.get_employment_info() except: - raise HTTPException(status_code=404, detail='就业信息不存在') + raise HTTPException(status_code=404, detail='该学生就业信息不存在') @app.get('employment/class/{class_id}',summary='获取班级学生就业信息') def get_emp_info2(class_id: int,db=Depends(get_db)): @@ -21,10 +21,9 @@ def get_emp_info2(class_id: int,db=Depends(get_db)): if class_id: return employment_dao.get_employment_info() except: - raise HTTPException(status_code=404, detail='就业信息不存在') + raise HTTPException(status_code=404, detail='该班级就业信息不存在') - - -@app.post('employment/students/{stu_id}') -def create_emp_info(stu_id: int,db=Depends(get_db)): +# @app.post('employment/students/{stu_id}') +# def create_emp_info(stu_id: int,db=Depends(get_db)): +# try: pass diff --git a/PythonProject/dao/employment_dao.py b/PythonProject/dao/employment_dao.py index 47275fb..3bed3a2 100644 --- a/PythonProject/dao/employment_dao.py +++ b/PythonProject/dao/employment_dao.py @@ -1,40 +1,46 @@ - +from fastapi import HTTPException,Depends from model.all_model import Employment_info, ClassManagement, Student_Model from util.database import get_db from schema.employment_schema import EmlpoymentRequest -def get_employment_dao(stu_id,class_id,db): - q = db.query(Employment_info).\ - join(ClassManagement,ClassManagement.stu_id == Employment_info.stu_id).\ - filter(Employment_info.delete_status == 0).\ - filter(Student_Model.delete_status == 0).\ - filter(ClassManagement.delete_status == 0) - if stu_id is not None: - q = q.filter(Employment_info.stu_id == stu_id) - if class_id is not None: - q = q.filter(ClassManagement.class_id == class_id) - r = q.all() - if r: - return [{'emp_id':i.emp_id - ,'stu_id': i.stu_id - ,'stu_name':i.stu_name - ,'class_id':i.class_id - ,'email':i.email - ,'employment_opening_date':i.employment_opening_date - ,'offer_issuance_date':i.offer_issuance_date - ,'company_name':i.company_name - ,'company_address':i.company_address - ,'salary':i.salary - }for i in r - ] - -def add_employment_dao(e:EmlpoymentRequest,db,stu_id): +def get_employment_dao(stu_id,class_id,db=Depends(get_db())): try: - e1 = Employment_info(**e) - db.add(e1) + q = db.query(Employment_info).\ + join(Student_Model,Employment_info.stu_id == Student_Model.stu_id).\ + join(ClassManagement,Student_Model.class_id == ClassManagement.class_id).\ + filter(Employment_info.delete_status == 0).\ + filter(Student_Model.delete_status == 0).\ + filter(ClassManagement.delete_status == 0) + if stu_id is not None: + q = q.filter(Employment_info.stu_id == stu_id) + if class_id is not None: + q = q.filter(ClassManagement.class_id == class_id) + r = q.all() + if r: + return [{'emp_id':i.emp_id + ,'stu_id': i.stu_id + ,'stu_name':i.stu_name + ,'class_id':i.class_id + ,'email':i.email + ,'employment_opening_date':i.employment_opening_date + ,'offer_issuance_date':i.offer_issuance_date + ,'company_name':i.company_name + ,'company_address':i.company_address + ,'salary':i.salary + }for i in r + ] except: - db.rollback() - return False - else: - db.commit() - return True + raise HTTPException(status_code=404,detail='信息不存在!') + +# def add_employment_dao(e:EmlpoymentRequest,db=Depends(get_db()),stu_id): +# try: +# r = db.query(Employment_info).filter(Employment_info.stu_id == stu_id).all() +# if r: +# e1 = Employment_info(**e) +# db.add(e1) +# except: +# db.rollback() +# return False +# else: +# db.commit() +# return True