Files
student_manage_system/class_management/dao/class_management_dao.py
T

82 lines
2.3 KiB
Python

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('class_id'):
q = q.filter(ClassInfo.class_id == c.get('class_id'))
if c.get('class_name'):
q = q.filter(ClassInfo.class_name == c.get('class_name'))
if c.get('class_teacher'):
q = q.filter(ClassInfo.class_teacher == c.get('class_teacher'))
if c.get('class_lecturer'):
q = q.filter(ClassInfo.class_lecturer == c.get('class_lecturer'))
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'))
c1 = q.all()
if not c1:
return []
return[
{'班级编号':i.class_id
,'班级名称':i.class_name
,'班主任':i.class_teacher
,'授课老师':i.class_lecturer
,'开课时间':i.class_start_time
,'结课时间':i.class_end_time
} for i in c1
]
#新增
def add_class_dao(c:dict,db:Session):
try:
exist_class = db.query(ClassInfo)\
.filter(ClassInfo.class_name == c['class_name']
,ClassInfo.is_delete == 0)\
.first()
if exist_class:
msg = '班级名称已存在'
print(msg)
return [False,msg]
c1 = ClassInfo(**c)
db.add(c1)
except:
db.rollback()
return False
else:
db.commit()
return True
#修改
def update_class_dao(cid:int,update_data,db):
try:
rows = db.query(ClassInfo)\
.filter(ClassInfo.class_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.class_id == cid,ClassInfo.is_delete==0)\
.update({'is_delete':1})
except:
db.rollback()
rows = 0
else:
db.commit()
finally:
return rows