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): try: e1 = Employment_info(**e) db.add(e1) except: db.rollback() return False else: db.commit() return True