from Teachers.model.tea_model import Tea from datetime import datetime #增加 def add_tea_dao(t,db): try: not_delete = db.query(Tea).filter(Tea.phone ==t.get('phone'),Tea.is_delete == False).first() if not_delete: print('该老师已存在') raise Exception('老师已存在') existing = db.query(Tea).filter(Tea.phone == t.get('phone'),Tea.is_delete == True).first() if existing: for key,value in t.items(): if hasattr(existing,key) and value is not None and value != '': setattr(existing,key,value) existing.is_delete = False db.commit() return '恢复修改成功' t1 = Tea(**t) db.add(t1) db.commit() return True except Exception as e: db.rollback() print('新增失败原因',e) return '新增失败' #更新 def update_tea_dao(id,t, db): try: row = db.query(Tea).filter(Tea.id == id,Tea.is_delete ==False ).update(t) except: db.rollback() return False else: db.commit() return row #查询 def get_tea_dao(t,db): query = db.query(Tea).filter(Tea.is_delete == False) if t.get('id'): query = query.filter(Tea.id == t.get('id') ) if t.get('name'): query = query.filter(Tea.name == t.get('name') ) if t.get("sex"): query = query.filter(Tea.sex == t.get('sex') ) if t.get('class_id'): query = query.filter(Tea.class_id == t.get('class_id') ) if t.get('sub'): query = query.filter(Tea.sub == t.get('sub') ) if t.get('home_place'): query = query.filter(Tea.home_place == t.get('home_place') ) if t.get('specialty'): query = query.filter(Tea.specialty == t.get('specialty') ) if t.get('start_time'): query = query.filter(Tea.start_time == t.get('start_time') ) if t. get('work_experience'): query = query.filter(Tea.work_experience == t.get('work_experience') ) if t.get('education'): query = query.filter(Tea.education == t.get('education') ) if t.get('collage'): query = query.filter(Tea.collage == t.get('collage') ) if t.get('phone'): query = query.filter(Tea.phone == t.get('phone') ) r = query.all() return [{'id':i.id,'name':i.name,'class_id':i.class_id,'sub':i.sub,'sex':i.sex,'home_place':i.home_place ,'specialty':i.specialty,'start_time':i.start_time,'work_experience':i.work_experience ,'collage':i.collage,'phone':i.phone} for i in r] #删除 def delete_tea_dao(id,db): try: row = db.query(Tea).filter(Tea.id == id ,Tea.is_delete == False ).update({'is_delete':True,'delete_time':datetime.now()}) except: db.rollback() row = 0 return row else: db.commit() return row def delete_other_tea_dao(t,db): if not t: return False try: query1 = db.query(Tea).filter(Tea.is_delete == False) if t.get('id'): query1 = query1.filter(Tea.id == t.get('id') ) if t.get('name'): query1 = query1.filter(Tea.name == t.get('name') ) if t.get('sex'): query1 = query1.filter(Tea.sex == t.get('sex')) if t.get('class_id'): query1 = query1.filter(Tea.class_id == t.get('class_id')) if t.get('sub'): query1 = query1.filter(Tea.sub == t.get('sub')) if t.get('home_place'): query1 = query1.filter(Tea.home_place == t.get('home_place')) if t.get('collage'): query1 = query1.filter(Tea.collage == t.get('collage')) if t.get('education'): query1 = query1.filter(Tea.education == t.get('education')) if t.get('work_experience'): query1 = query1.filter(Tea.work_experience == t.get('work_experience')) if t.get('start_time'): query1 = query1.filter(Tea.start_time == t.get('start_time')) if t.get('specialty'): query1 = query1.filter(Tea.specialty == t.get('specialty')) if t.get('phone'): query1 = query1.filter(Tea.phone == t.get('phone')) row = query1.update({'is_delete':True,'delete_time':datetime.now()}) db.commit() return row except Exception as e: db.rollback() print('删除失败',e) return '删除失败'