from model.all_model import ClassManagement from fastapi import HTTPException from schema.cla_schema import claRequest def add_class_dao(c: claRequest, session): try: data = c.model_dump() d = ClassManagement(**data) session.add(d) session.commit() session.refresh(d) return d except: session.rollback() raise HTTPException(400, "输入有误,请重新添加班级!") def get_class_dao(n,m,session): try: class_list=session.query(ClassManagement).filter(ClassManagement.delete_status==0).offset((n-1)*m).limit(m).all() return class_list except: raise HTTPException(status_code=406,detail="输入查询信息有误,请重新输入!") def update_class_dao(id:int,req:claRequest,session): try: session.query(ClassManagement).filter(ClassManagement.class_id==id)\ .filter(ClassManagement.delete_status==0).update(req.model_dump(exclude_unset=True)) session.commit() except: raise HTTPException(status_code=400,detail="更新格式错误或参数缺失,请重新输入!") return '更新成功,请核对信息!' def delete_class_dao(id:int,session): try: session.query(ClassManagement).filter(ClassManagement.class_id==id,ClassManagement.delete_status==0)\ .update({'delete_status': 1}) session.commit() except: raise HTTPException(status_code=404, detail="删除异常,请重新核对之后删除!") return '删除成功,请核对信息!'