aaa
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
from sqlalchemy import and_
|
||||
from sqlalchemy.orm import Session
|
||||
from model.classes import Class # ← 必须:操作 ORM 模型
|
||||
from scheme.classes import ClassCreate, ClassUpdate # ← 必须:类型注解
|
||||
|
||||
class ClassDao:
|
||||
# 新增
|
||||
@staticmethod
|
||||
def create_class_list(db:Session,data:ClassCreate):
|
||||
cls = Class(
|
||||
cid=data.cid,
|
||||
class_name=data.class_name,
|
||||
start_time=data.start_time,
|
||||
headteacher=data.headteacher,
|
||||
flag=1
|
||||
)
|
||||
db.add(cls)
|
||||
db.commit()
|
||||
db.refresh(cls)
|
||||
return cls
|
||||
|
||||
# 查询,查询单个
|
||||
@staticmethod
|
||||
def get_class(db:Session,class_id:int):
|
||||
return db.query(Class).filter(and_(Class.cid==class_id,Class.flag==1)).first()
|
||||
# def get_all_class(db:Session):
|
||||
# return db.query(Class).filter(Class.flag==1).all()
|
||||
@staticmethod
|
||||
def get_class_list(db:Session,cid:None,class_name:None,headteacher:None,page=1, size=10):
|
||||
query = db.query(Class).filter(Class.flag == 1)
|
||||
if cid:
|
||||
query=query.filter(Class.cid == cid)
|
||||
if class_name:
|
||||
query=query.filter(Class.class_name == class_name)
|
||||
if headteacher:
|
||||
query=query.filter(Class.headteacher == headteacher)
|
||||
total = query.count()
|
||||
items=query.order_by(Class.cid).offset((page-1)*size).limit(size).all()
|
||||
return total, items
|
||||
|
||||
# 查询全部
|
||||
@staticmethod
|
||||
def get_all_class(db:Session):
|
||||
return db.query(Class).filter(Class.flag==1).all()
|
||||
# 查询学生
|
||||
@staticmethod
|
||||
def get_class_student(db:Session,class_id:int):
|
||||
cls = ClassDao.get_class(db,class_id)
|
||||
if not cls:
|
||||
return None
|
||||
return {"id": Class.student.sid, "name": Class.student.name, "age": Class.student.age, "gender": Class.student.gender}
|
||||
#查询老师
|
||||
@staticmethod
|
||||
def get_class_teacher(db:Session,class_id:int):
|
||||
cls = ClassDao.get_class(db,class_id)
|
||||
if not cls:
|
||||
return None
|
||||
return {"id":Class.teachers.id,"name":Class.teachers.name}
|
||||
|
||||
# 更新
|
||||
@staticmethod
|
||||
def update_class(db:Session,class_id:int,data:ClassUpdate):
|
||||
cls = ClassDao.get_class(db,class_id)
|
||||
if not cls:
|
||||
return None
|
||||
if cls.class_name:
|
||||
cls.class_name = data.class_name
|
||||
if cls.headteacher:
|
||||
cls.headteacher = data.headteacher
|
||||
db.commit()
|
||||
return cls
|
||||
|
||||
# 删除
|
||||
@staticmethod
|
||||
def delete_class(db:Session,cid:int):
|
||||
cls = ClassDao.get_class(db,cid)
|
||||
if not cls:
|
||||
return False
|
||||
cls.flag=0
|
||||
db.commit()
|
||||
db.refresh(cls)
|
||||
return cls
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user