diff --git a/PythonProject/api/employment_api.py b/PythonProject/api/employment_api.py index fd6f2aa..8a53b57 100644 --- a/PythonProject/api/employment_api.py +++ b/PythonProject/api/employment_api.py @@ -6,14 +6,6 @@ from util.database import get_db from typing import Optional emp_api = APIRouter(tags=['学生就业管理模块']) -@emp_api.get('/employment/class/{stu_id}',response_model=EmploymentResponse,summary='获取学生就业信息') -def get_emp_info1(stu_id: Optional[int]=Path(description='学生编号') - ,db=Depends(get_db)): - e1 = employment_dao.get_emp_dao(stu_id=stu_id, db=db) - if e1: - return e1[0] - raise HTTPException(status_code=404, detail='该学生就业信息不存在') - @emp_api.get('/employment/class/{class_id}',response_model=EmploymentResponse,summary='获取班级学生就业信息') def get_emp_info2(class_id: Optional[int]=Path(description='班级编号') ,db=Depends(get_db)): diff --git a/PythonProject/api/grade_api.py b/PythonProject/api/grade_api.py index c0b266c..fb3d5cf 100644 --- a/PythonProject/api/grade_api.py +++ b/PythonProject/api/grade_api.py @@ -19,7 +19,7 @@ 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('/grade',response_model=GradeResponse,summary='添加学生成绩') +@gradeAPI.post('/grade',summary='添加学生成绩') def post_grade(o:GradeRequest,db=Depends(get_db)): d=o.model_dump() r=add_grade_dao(g=d,db=db) diff --git a/PythonProject/api/statistics_api.py b/PythonProject/api/statistics_api.py index 401efd1..c5f0032 100644 --- a/PythonProject/api/statistics_api.py +++ b/PythonProject/api/statistics_api.py @@ -40,3 +40,8 @@ def get_days(db=Depends(get_db)): def get_emp(db=Depends(get_db)): l= select_days(db) return l + +@StatisticsAPI.get('/salaries',summary='统计薪资分布') +def get_salaries(db=Depends(get_db)): + s=classify_salary(db) + return s \ No newline at end of file diff --git a/PythonProject/dao/statistics_dao.py b/PythonProject/dao/statistics_dao.py index c576206..edcc645 100644 --- a/PythonProject/dao/statistics_dao.py +++ b/PythonProject/dao/statistics_dao.py @@ -131,4 +131,26 @@ def select_days(db): ).filter(Employment_info.delete_status == 0).all() return l2 except Exception: - raise HTTPException(status_code=500, detail="查询异常") \ No newline at end of file + raise HTTPException(status_code=500, detail="查询异常") + + +# 薪资区间分布:统计薪资在5k以下、5k-10k、10k-15k、15k以上的人数分布,反映学生的整体就业质量。 +def classify_salary(db): + try: + a=b=c=d=0 + l=db.query(Employment_info).filter(Employment_info.delete_status==0).all() + for i in l: + if i.salary is None: + continue + elif i.salary<5000: + a+=1 + elif 5000<=i.salary<10000: + b+=1 + elif 10000<=i.salary<15000: + c+=1 + else: + d+=1 + return {'5k以下': a, '5k-10k': b, '10k-15k': c, '15k': d} + except: + raise HTTPException(status_code=500,detail='查询异常!') +