Merge remote-tracking branch 'origin/conding' into conding

This commit is contained in:
2026-09-21 20:03:31 +08:00
7 changed files with 95 additions and 55 deletions
+16 -6
View File
@@ -14,17 +14,27 @@ def get_grade(stu_id: int,db=Depends(get_db)):
except Exception as e:
raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}')
@gradeAPI.post('/{stu_id}',response_model=GradeResponse,summary='添加学生成绩')
@gradeAPI.post('/grade',response_model=GradeResponse,summary='添加学生成绩')
def post_grade(o:GradeRequest=Form(),db=Depends(get_db)):
exist_obj = get_grade_dao(db,o.stu_id)
if exist_obj:
raise HTTPException(status_code=409, detail="该学生此考核序次成绩已存在!")
d=o.model_dump()
r=add_grade_dao(g=d,db=db)
if not r:
raise HTTPException(status_code=400, detail='学生不存在')
return o
@gradeAPI.put('/{score_id}',summary='成绩修改')
def put_grade(score_id: int,o:GradeUpdate,db=Depends(get_db)):
d = o.model_update(exclude_unset=True)
r = update_grade_dao(score_id=score_id
,update_data=d
,db=db)
if not r:
raise HTTPException(status_code=500,detail='没有更新')
return {'code':200,'totals':r,'detail':'更新成功'}
@gradeAPI.delete('/{score_id}',summary='删除成绩')
def delete_grade(score_id:int,db=Depends(get_db)):
r = delete_grade_dao(stu_id=score_id,db=db)
if not r:
raise HTTPException(status_code=404,detail='删除失败')
return {'code':200,'totals':r,'detail':'删除成功'}
+3 -3
View File
@@ -6,7 +6,7 @@ from util.database import get_db
StudentAPI = APIRouter()
@StudentAPI.get('/',response_model=list[StudentPageResponse],tags=['学⽣基本信息管理模块'],description='查询学生信息')
@StudentAPI.get('/students',response_model=list[StudentPageResponse],tags=['学⽣基本信息管理模块'],description='查询学生信息')
def get_students(stu_id:int|None=None
,stu_name:str|None=None
,class_id:int|None=None
@@ -49,7 +49,7 @@ def del_students(stu_id:int
raise HTTPException(status_code=500,detail='没有删除')
return {'code':200,'totals':rows,'detail':'删除成功'}
@StudentAPI.post('/',tags=['学⽣基本信息管理模块'],response_model=StugetResponse)
@StudentAPI.post('/students',tags=['学⽣基本信息管理模块'],response_model=StugetResponse)
def add_students(s:StudentRequest
,db=Depends(get_db)):
d=s.model_dump(exclude_unset=False)
@@ -59,7 +59,7 @@ def add_students(s:StudentRequest
return stu_new
@StudentAPI.put('/',tags=['学⽣基本信息管理模块'])
@StudentAPI.put('/students',tags=['学⽣基本信息管理模块'])
def get_students(stu_id:int|None = None
,stu_name:str|None = None
,class_id:int|None=None
+21 -17
View File
@@ -1,26 +1,30 @@
from fastapi import APIRouter,HTTPException
from fastapi import APIRouter,HTTPException,Depends
from schema.teacher_schema import Teacher_ResponseModel, Teacher_RequestModel
from dao.teacher_dao import *
from dao.teacher_dao import add_teacher
from util.database import get_db
teacher_api=APIRouter()
@teacher_api.post("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='新增教师接口')
def add_teacher(teacher:Teacher_RequestModel,session=Depends(get_db)):
d=teacher.model_dump()
r=add_teacher(req=d,session=session)
if not r:
@teacher_api.post("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='新增教师接口')
def get_teacher(x1:Teacher_RequestModel,session=Depends(get_db)):
y=add_teacher(x1.model_dump(),session)
if not y:
raise HTTPException(status_code=500,detail='添加异常!')
return Teacher_ResponseModel(totals=1,data=d)
return x1
@teacher_api.get("/teachers",tags=['教师基本信息管理模块'],summary='查询教师接口')
def get_teacher(teacid:int, session=Depends(get_db)):
# r = get_teacher(id=id,session=session)
# if not r:
# raise HTTPException(status_code=500, detail='查询异常!')
try:
l=get_teacher(teacid,session)
return {'code': 200,'msg':'查询成功','data':l}
except:
raise HTTPException(status_code=500,detail='数据库查询异常!')
@teacher_api.get("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='查询教师接口')
def get_teacher(id: int, session=Depends(get_db)):
r = get_teacher(id=id, session=session)
if not r:
raise HTTPException(status_code=500, detail='查询异常!')
@teacher_api.put("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='更新教师接口')
@teacher_api.put("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='更新教师接口')
def update_teacher(id:int,teacher:Teacher_RequestModel,session=Depends(get_db)):
d=teacher.model_dump()
r=update_teacher(id=id,req=d,session=session)
@@ -29,7 +33,7 @@ def update_teacher(id:int,teacher:Teacher_RequestModel,session=Depends(get_db)):
return {'code': 200, 'totals': r, 'detail': '更新成功'}
@teacher_api.delete("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='删除教师接口')
@teacher_api.delete("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='删除教师接口')
def delete_teacher(id:int,session=Depends(get_db)):
r=delete_teacher(id=id,session=session)
if not r:
+27 -1
View File
@@ -21,4 +21,30 @@ def add_grade_dao(g,db):
return o1
except Exception:
db.rollback()
return None
return None
def update_grade_dao(score_id:int, update_data, db):
try:
rows = db.query(WlScore).filter(
WlScore.stu_id == score_id,
WlScore.delete_status == 0
).update(update_data)
except:
db.rollback()
return False
else:
db.commit()
return rows
def delete_grade_dao(stu_id:int,db):
try:
rows = db.query(WlScore).filter(
WlScore.stu_id == stu_id,
WlScore.delete_status == 0
).update({'delete_status':1})
except:
db.rollback()
return False
else:
db.commit()
return rows
+20 -14
View File
@@ -1,25 +1,31 @@
from fastapi import HTTPException,Depends
from model.all_model import Teacher_Model
from util.database import *
from schema.teacher_schema import Teacher_RequestModel
from model.all_model import *
def add_teacher(req:Teacher_RequestModel,session):
def add_teacher(teacher,session):
try:
data=req.model_dump()
session.add(Teacher_Model(**data))
print(teacher)
x=Teacher_Model(**teacher)
print(1)
session.add(x)
print(2)
session.commit()
print(3)
return teacher
except:
raise HTTPException(status_code=500,detail="添加异常!")
return req.model_dump()
session.rollback()
# raise HTTPException(status_code=500,detail='添加异常!')
return None
def get_teacher(session):
try:
teacher_list=session.query(Teacher_Model).filter(Teacher_Model.delete_status==0).all()
return teacher_list
except:
raise HTTPException(status_code=500,detail="查询异常!")
def get_teacher(id,session):
l=session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\
.filter(Teacher_Model.delete_status==0).all()
if l:
return l
else:
raise HTTPException(status_code=404,detail='该老师不存在!')
def update_teacher(id:int,req:Teacher_RequestModel,session):
def update_teacher(teac_id:int,req:Teacher_RequestModel,session):
try:
session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\
.filter(Teacher_Model.delete_status==0).update(req.model_dump(exclude_unset=True))
+4
View File
@@ -8,6 +8,10 @@ class GradeRequest(BaseModel):
exam_order:int = Field(description='考核序次')
score:float = Field(description='成绩')
class GradeUpdate(BaseModel):#修改请求体
exam_order: int = Field(description='考核序次')
score: float = Field(description='成绩')
class GradeResponse(BaseModel):
code: int = 200
detail: str = 'OK'
+4 -14
View File
@@ -1,27 +1,17 @@
from datetime import date
from pydantic import BaseModel
# from pydantic.v1 import BaseModel
from datetime import datetime
class Teacher_RequestModel(BaseModel):
teac_name:str
teac_gender:str
teac_age:int
teac_position:str
delete_status:int
class Teacher_ResponseModel(BaseModel):
code:int=200
detail:str='OK!'
teac_name:str
totals:int=0
data:str|list|tuple|dict
teac_gender:str
teac_age:int
teac_position:str