更新注释

This commit is contained in:
qinghu762-afk
2026-09-14 16:52:46 +08:00
parent e8021b9302
commit a508d590ca
3 changed files with 57 additions and 4 deletions
+40
View File
@@ -1,3 +1,5 @@
# 顾问模块:独立接口,沿用原学生接口的依赖注入与返回方式。
# 顾问模块:独立接口,沿用原学生接口的依赖注入与返回方式。
# FastAPI路由层,定义顾问管理相关接口,接收前端请求,参数校验,调用DAO层完成数据库操作
from fastapi import APIRouter, Depends, HTTPException, Query
@@ -85,6 +87,43 @@ def get_advisor(adv_id: int, db: Session = Depends(get_db)):
return advisor
# 查询顾问信息和该顾问名下的学生
@router.get("/{adv_id}/students")
def get_advisor_students(adv_id: int, db: Session = Depends(get_db)):
if adv_id <= 0:
raise HTTPException(422, "顾问编号必须大于0")
advisor = wl_advisor_dao.get_advisor_with_students(db, adv_id)
if not advisor:
raise HTTPException(404, "顾问不存在")
student_list = []
for student in advisor.student_list:
student_list.append({
"stu_no": student.stu_no,
"stu_name": student.stu_name,
"class_id": student.class_id,
"advisor_id": student.advisor_id,
"native_place": student.native_place,
"graduate_school": student.graduate_school,
"major": student.major,
"in_time": student.in_time,
"out_time": student.out_time,
"edu": student.edu,
"stu_age": student.stu_age,
"stu_gender": student.stu_gender,
})
return {
"adv_id": advisor.adv_id,
"adv_name": advisor.adv_name,
"adv_gender": advisor.adv_gender,
"adv_phone": advisor.adv_phone,
"adv_email": advisor.adv_email,
"adv_region": advisor.adv_region,
"student_list": student_list,
}
@router.put("/{adv_id}", response_model=AdvisorOut)
def update_advisor(adv_id: int, data: AdvisorUpdate, db: Session = Depends(get_db)):
@@ -114,3 +153,4 @@ def delete_advisor(adv_id: int, db: Session = Depends(get_db)):
raise HTTPException(404, "顾问不存在")
# 返回成功信息
return {"msg": "删除成功"}