Merge remote-tracking branch 'origin/conding' into conding
# Conflicts: # PythonProject/api/grade_api.py # PythonProject/main.py # PythonProject/model/employment_model.py # PythonProject/model/grade_model.py
This commit is contained in:
@@ -1,9 +1,14 @@
|
||||
from fastapi import APIRouter,Depends,HTTPException,Path
|
||||
from util.database import get_db
|
||||
from model.all_model import Student_Model
|
||||
from dao.grade_dao import *
|
||||
|
||||
gradeAPI = APIRouter()
|
||||
gradeAPI = APIRouter(tags=['学生考核成绩'])
|
||||
|
||||
@gradeAPI.get(f"/grade/{id}",summary="根据ID查询单条成绩")
|
||||
def get_grade(id:int,db=Depends(get_db)):
|
||||
pass
|
||||
@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 {'code': 200,'msg':'查询成功','data':res}
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}')
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
from fastapi import Depends,HTTPException
|
||||
|
||||
from util.database import get_db
|
||||
|
||||
from model.grade_model import *
|
||||
|
||||
|
||||
def get_grade_dao( stu_id:int
|
||||
,db=Depends(get_db)):
|
||||
|
||||
r1 =db.query(WlScore).filter(WlScore.stu_id == stu_id,WlScore.delete_status == 0).all()
|
||||
if r1:
|
||||
return r1
|
||||
else:
|
||||
raise HTTPException(status_code=404,detail="学生不存在")
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
from fastapi import Query,HTTPException
|
||||
from pydantic import BaseModel, field_validator
|
||||
from datetime import datetime
|
||||
|
||||
class EmlpoymentRequest(BaseModel):
|
||||
stu_id: int=Query(ge=1)
|
||||
email: str|None
|
||||
employment_opening_date:datetime
|
||||
offer_issuance_date:datetime
|
||||
company_name:str
|
||||
company_address:str|None
|
||||
salary:float
|
||||
|
||||
@field_validator('stu_id')
|
||||
def check(cls,n):
|
||||
i = cls.model_dump()
|
||||
if i['stu_id'] == n:
|
||||
return n
|
||||
raise HTTPException(status_code=404,detail='未找到该学生的就业信息!')
|
||||
|
||||
class EmploymentResponse(BaseModel):
|
||||
code:int = 200
|
||||
detail:str = 'OK'
|
||||
stu_id: int
|
||||
email: str | None
|
||||
employment_opening_date: datetime
|
||||
offer_issuance_date: datetime
|
||||
company_name: str
|
||||
company_address: str | None
|
||||
salary: float
|
||||
Reference in New Issue
Block a user