79 lines
2.3 KiB
Python
79 lines
2.3 KiB
Python
from sqlalchemy.orm import Session
|
|
from model.class_model import Classes
|
|
from schema.class_schema import ClassAdd
|
|
|
|
#新增班级
|
|
# 定义新增班级的函数,需要两个参数:db数据库通道、class_add前端传来的班级数据
|
|
def create_class(db: Session, class_add: ClassAdd):
|
|
# 新建一个班级对象,对应数据库里一行空白记录
|
|
new_class = Classes()
|
|
# 把前端传过来的班级名称,赋值给这个新对象
|
|
new_class.class_name = class_add.class_name
|
|
# 开学时间
|
|
new_class.start_time = class_add.start_time
|
|
# 班主任
|
|
new_class.head_teacher = class_add.head_teacher
|
|
# 任课老师
|
|
new_class.teacher = class_add.teacher
|
|
db.add(new_class)
|
|
# 提交写入数据库
|
|
db.commit()
|
|
# 刷新
|
|
db.refresh(new_class)
|
|
return new_class
|
|
|
|
#根据id查询单个班级
|
|
def get_class_by_cid(db: Session, cid: int):
|
|
result = db.query(Classes).filter(Classes.cid == cid, Classes.is_del == 1).first()
|
|
return result
|
|
|
|
#根据班级名称查询
|
|
def get_class_by_name(db: Session,name:str):
|
|
result = db.query(Classes).filter(Classes.class_name == name, Classes.is_del == 1).first()
|
|
return result
|
|
|
|
# 删除班级
|
|
def delete_class(db: Session, cid: int):
|
|
# 根据班级编号,去数据库找到对应的班级
|
|
class_obj = db.query(Classes).filter(Classes.cid == cid).first()
|
|
|
|
# 如果没找到这个班级,返回False
|
|
if not class_obj:
|
|
return False
|
|
|
|
# 从数据库里删掉这条班级数据
|
|
db.delete(class_obj)
|
|
# 提交操作
|
|
db.commit()
|
|
|
|
# 删除成功,返回True
|
|
return True
|
|
|
|
# 修改班级信息
|
|
def update_class(db: Session, cid: int, class_add: ClassAdd):
|
|
# 根据班级编号,查询数据库找到对应的班级
|
|
class_obj = db.query(Classes).filter(Classes.cid == cid).first()
|
|
|
|
# 如果没有找到这个班级,直接返回空
|
|
if not class_obj:
|
|
return None
|
|
|
|
# 把前端传过来的新信息,覆盖原来班级对象里面的数据
|
|
class_obj.class_name = class_add.class_name
|
|
class_obj.start_time = class_add.start_time
|
|
class_obj.head_teacher = class_add.head_teacher
|
|
class_obj.teacher = class_add.teacher
|
|
|
|
# 提交,把修改保存到数据库
|
|
db.commit()
|
|
|
|
# 返回修改完成后的班级信息
|
|
return class_obj
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|