from class_management.model.class_management_model import ClassInfo from sqlalchemy.orm import Session #新增班级 def add_class_dao(c,db): try: c1 = ClassInfo(**c) db.add(c1) except: db.rollback() return False else: db.commit() return True #更新班级信息 def update_class_dao(cid,update_data,db): try: rows = db.query(ClassInfo)\ .filter(ClassInfo.id == cid ,ClassInfo.is_delete==0)\ .update(update_data) except : db.rollback() return False else: db.commit() return rows #删除(逻辑删除) 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('删除失败',e) return 0 #查询 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 } for i in res ]