from class_management.model.class_management_model import ClassInfo from sqlalchemy.orm import Session #查询 def get_class_dao(c:dict,db:Session) : q = db.query(ClassInfo).filter(ClassInfo.is_delete == 0)#is_delete=0代表未删除 if c.get('id'): q = q.filter(ClassInfo.id == c.get('id')) if c.get('num'): q = q.filter(ClassInfo.num == c.get('num')) if c.get('name'): q = q.filter(ClassInfo.name == c.get('name')) if c.get('head_teacher_id'): q = q.filter(ClassInfo.head_teacher_id == c.get('head_teacher_id')) if c.get('coach_teacher_id'): q = q.filter(ClassInfo.coach_teacher_id == c.get('coach_teacher_id')) if c.get('tutor_teacher_id'): q = q.filter(ClassInfo.tutor_teacher_id == c.get('tutor_teacher_id')) if c.get('class_start_time'): q = q.filter(ClassInfo.class_start_time == c.get('class_start_time')) if c.get('class_end_time'): q = q.filter(ClassInfo.class_end_time == c.get('class_end_time')) res = q.all() if not res: return [] return[ {'id':i.id ,'num':i.num ,'name':i.name ,'head_teacher_id':i.head_teacher_id ,'coach_teacher_id':i.coach_teacher_id ,'tutor_teacher_id':i.tutor_teacher_id ,'class_start_time':i.class_start_time ,'class_end_time':i.class_end_time ,"is_delete": i.is_delete ,"create_time": i.create_time ,"update_time": i.update_time } for i in res ] #新增班级 def add_class_dao(c:dict,db:Session): try: exist_class = db.query(ClassInfo)\ .filter(ClassInfo.name == c['name'] ,ClassInfo.is_delete == 0)\ .first() if exist_class: msg = '班级名称已存在' print(msg) return (False,msg) c1 = ClassInfo(**c) db.add(c1) db.commit() db.refresh(c1) return (True,None) except Exception as e: db.rollback() err_msg = f'数据库异常:{str(e)}' print(err_msg) return (False,err_msg) #修改 def update_class_dao(cid:int,update_data,db): try: rows = db.query(ClassInfo)\ .filter(ClassInfo.id == cid ,ClassInfo.is_delete==0)\ .update(update_data) db.commit() return rows except Exception as e: db.rollback() print(f"update_class_dao异常:{e}") return 0 #删除(逻辑删除) def delete_class_dao(cid,db): try: rows = db.query(ClassInfo)\ .filter(ClassInfo.id == cid,ClassInfo.is_delete==0)\ .update({'is_delete':1}) db.commit() return rows except Exception as e: db.rollback() print(f"delete_class_dao异常:{e}") rows = 0