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=Depends(get_db())): try: 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: 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