From 601e3b7d3944041fe1364924fa263c168dfb43aa Mon Sep 17 00:00:00 2001 From: Windows <2209639385@qq.com> Date: Tue, 22 Sep 2026 12:24:51 +0800 Subject: [PATCH] nb --- PythonProject/api/grade_api.py | 8 ++++++-- PythonProject/dao/grade_dao.py | 22 +++++++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/PythonProject/api/grade_api.py b/PythonProject/api/grade_api.py index f1988c8..c0b266c 100644 --- a/PythonProject/api/grade_api.py +++ b/PythonProject/api/grade_api.py @@ -7,11 +7,15 @@ from fastapi import APIRouter, Depends, HTTPException, Body gradeAPI = APIRouter(tags=['学生考核成绩管理模块']) -@gradeAPI.get("/grade/{stu_id}",response_model=list[GradeResponse],summary="根据学生id查询成绩") +@gradeAPI.get("/grade/{stu_id}",summary="根据学生id查询成绩") def get_grade(stu_id: int,db=Depends(get_db)): try: res=get_grade_dao(stu_id,db) - return res + return { + "code": 200, + "detail": "查询成功", + "data": res + } except Exception as e: raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}') diff --git a/PythonProject/dao/grade_dao.py b/PythonProject/dao/grade_dao.py index 358645e..2619fac 100644 --- a/PythonProject/dao/grade_dao.py +++ b/PythonProject/dao/grade_dao.py @@ -19,10 +19,26 @@ def get_score_by_stu_exam_order_dao(stu_id:str,exam_order:int,db): def get_grade_dao( stu_id:int , db): - r1 =db.query(WlScore).filter(WlScore.stu_id == stu_id,WlScore.delete_status == 0).all() + r1 =(db.query( WlScore.score_id + ,WlScore.stu_id + ,Student_Model.stu_name + ,WlScore.exam_order + ,WlScore.score + ) + .join(Student_Model,WlScore.stu_id == Student_Model.stu_id) + .filter(WlScore.stu_id == stu_id,WlScore.delete_status == 0,Student_Model.delete_status == 0) + .all()) if r1: - - return r1 + data_list = [] + for row in r1: + data_list.append({ + "score_id": row.score_id, + "stu_id": row.stu_id, + "stu_name": row.stu_name, + "exam_order": row.exam_order, + "score": row.score + }) + return data_list else: raise HTTPException(status_code=404,detail="学生不存在")