2026-09-22 12:23:18 +08:00
|
|
|
from class_management.model.class_management_model import ClassInfo
|
2026-09-21 22:06:10 +08:00
|
|
|
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
|