Files
student_manage_system/Teachers/dao/tea_dao.py
T

125 lines
4.4 KiB
Python
Raw Normal View History

2026-09-21 16:28:55 +08:00
from Teachers.model.tea_model import Tea
2026-09-21 16:53:08 +08:00
from datetime import datetime
2026-09-21 16:28:55 +08:00
#增加
def add_tea_dao(t,db):
try:
2026-09-22 19:14:04 +08:00
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 '恢复修改成功'
2026-09-21 16:28:55 +08:00
t1 = Tea(**t)
db.add(t1)
db.commit()
return True
2026-09-22 19:14:04 +08:00
except Exception as e:
db.rollback()
print('新增失败原因',e)
return '新增失败'
2026-09-21 16:28:55 +08:00
#更新
2026-09-22 11:00:36 +08:00
def update_tea_dao(id,t, db):
2026-09-21 16:28:55 +08:00
try:
2026-09-22 11:00:36 +08:00
row = db.query(Tea).filter(Tea.id == id,Tea.is_delete ==False ).update(t)
except:
2026-09-21 16:28:55 +08:00
db.rollback()
return False
else:
db.commit()
2026-09-22 11:00:36 +08:00
return row
2026-09-21 16:28:55 +08:00
#查询
def get_tea_dao(t,db):
query = db.query(Tea).filter(Tea.is_delete == False)
2026-09-21 21:48:36 +08:00
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') )
2026-09-21 19:36:29 +08:00
if t.get('class_id'):
2026-09-22 11:00:36 +08:00
query = query.filter(Tea.class_id == t.get('class_id') )
2026-09-21 21:48:36 +08:00
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') )
2026-09-22 11:00:36 +08:00
if t.get('collage'):
query = query.filter(Tea.collage == t.get('collage') )
2026-09-22 19:14:04 +08:00
if t.get('phone'):
query = query.filter(Tea.phone == t.get('phone') )
2026-09-21 16:28:55 +08:00
r = query.all()
2026-09-22 11:00:36 +08:00
return [{'id':i.id,'name':i.name,'class_id':i.class_id,'sub':i.sub,'sex':i.sex,'home_place':i.home_place
2026-09-22 19:14:04 +08:00
,'specialty':i.specialty,'start_time':i.start_time,'work_experience':i.work_experience
,'collage':i.collage,'phone':i.phone} for i in r]
2026-09-21 16:28:55 +08:00
#删除
def delete_tea_dao(id,db):
try:
2026-09-21 21:48:36 +08:00
row = db.query(Tea).filter(Tea.id == id
2026-09-21 16:53:08 +08:00
,Tea.is_delete == False
).update({'is_delete':True,'delete_time':datetime.now()})
2026-09-21 16:28:55 +08:00
except:
db.rollback()
row = 0
2026-09-22 11:00:36 +08:00
return row
2026-09-21 16:28:55 +08:00
else:
db.commit()
return row
2026-09-22 13:54:00 +08:00
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'))
2026-09-22 19:14:04 +08:00
if t.get('phone'):
query1 = query1.filter(Tea.phone == t.get('phone'))
2026-09-22 13:54:00 +08:00
row = query1.update({'is_delete':True,'delete_time':datetime.now()})
db.commit()
return row
except Exception as e:
db.rollback()
print('删除失败',e)
return '删除失败'
2026-09-21 16:28:55 +08:00
2026-09-22 14:36:10 +08:00