第三版_完整

This commit is contained in:
jianqi
2026-09-14 11:51:13 +08:00
parent 40a269b751
commit 06c329fdd1
14 changed files with 6 additions and 31 deletions
-1
View File
@@ -1,6 +1,5 @@
# api/employ_api.py
# 本文件定义 学生就业信息 的所有 API 路由(Controller 层)
from datetime import date
from typing import List
from fastapi import APIRouter,HTTPException
-2
View File
@@ -10,12 +10,10 @@ from sqlalchemy import func
from starlette import status
from database import get_db
from dao.users_dao import UserDAO
from dao.statistics_dao import StatisticsDao
from model.stu_model import StuInfo
from scheme.statistics_scheme import StatsResponse, StuInfoAllExamAboveScore, FailingStudentItem, ClassExamAvgScoreItem, \
TopSalaryStudentItem, StudentEmpDurationItem, ClassAvgEmpDurationItem, StudentAgeDetailItem
from scheme.users import UserCreate, UserUpdate, UserResponse
router = APIRouter()
-1
View File
@@ -5,7 +5,6 @@ from sqlalchemy.orm import Session
from model.cls_mgmt_model import ClsMgmt
from scheme.cls_mgmt_scheme import ClsMgmtResponse, ClsMgmtCreate
from scheme.users import UserCreate, UserUpdate
from typing import Optional, List
class ClsMgmtDAO:
-3
View File
@@ -2,15 +2,12 @@
# 本文件封装对 所有相关表的 所有数据库操作(统计查询)
from collections import defaultdict
from dns.entropy import between
from sqlalchemy.orm import Session, joinedload
from sqlalchemy import func, case, and_, join, asc, desc
from model import StudentEmployManage
from model.stu_model import StuInfo
from model.stu_score_model import StuScore
from model.users import User
from scheme.users import UserCreate, UserUpdate
from typing import Optional, List, Dict
from scheme.statistics_scheme import StatsResponse, ExamScoreItem, StuInfoAllExamAboveScore, FailingStudentItem, \
ClassExamAvgScoreItem, TopSalaryStudentItem, StudentEmpDurationItem, ClassAvgEmpDurationItem, StudentAgeDetailItem
-1
View File
@@ -3,7 +3,6 @@
from sqlalchemy import and_
from sqlalchemy.orm import Session
from model.stu_score_model import StuScore
# from scheme.stu_score_scheme import
from typing import Optional, List
class StuScoreDAO:
-3
View File
@@ -1,8 +1,5 @@
# dao/teacher_dao.py
# 本文件封装对 tes_info 表的所有数据库操作(增、删、改、查)
from http.client import HTTPException
from typing import List, Optional
from sqlalchemy import or_
from sqlalchemy.orm import Session
+1 -4
View File
@@ -4,8 +4,7 @@
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from database import engine, Base
from api import users, statistics_api, stu_score_api, cls_mgmt_api, employ_api,stu_api, teacher_api # 导入 users 子路由
from api import statistics_api, stu_score_api, cls_mgmt_api, employ_api,stu_api, teacher_api # 导入 users 子路由
# 1. 创建数据库表(如果表不存在)
# Base.metadata.create_all 会扫描所有继承 Base 的模型,生成对应的 CREATE TABLE 语句
@@ -29,8 +28,6 @@ app.add_middleware(
)
# 4. 注册子路由
# prefix 为路由前缀,所有用户接口都以 /api/users 开头
app.include_router(users.router, prefix="/api/users", tags=["用户管理"])
app.include_router(statistics_api.router, prefix="/api/stats", tags=["统计分析"])
-1
View File
@@ -1,6 +1,5 @@
from sqlalchemy import Column, Integer, String, DateTime, Date, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from database import Base
+2 -3
View File
@@ -1,8 +1,7 @@
# import data
from h11 import Data
from pydantic import BaseModel, Field, ConfigDict,EmailStr
from datetime import datetime, date
from typing import Optional
from pydantic import BaseModel, Field
from datetime import date
# ---------- 请求模型 ----------
class ClsMgmtCreate(BaseModel):
+1 -2
View File
@@ -3,8 +3,7 @@ from datetime import date
from decimal import Decimal
from typing import List
from pydantic import Field, field_validator, model_validator, ValidationError, BaseModel
from database import Base
from pydantic import Field, model_validator, BaseModel
# ---------- -------------------------------请求模型 ------------------------------------------------
class YearMonthDay(BaseModel):
+1 -1
View File
@@ -1,6 +1,6 @@
# scheme/statistics_scheme.py
from pydantic import BaseModel, Field, EmailStr
from datetime import datetime, date
from datetime import date
from typing import Optional, List
+1 -1
View File
@@ -1,5 +1,5 @@
from pydantic import BaseModel, Field, model_validator, field_validator, ConfigDict
from datetime import date, datetime
from datetime import date
from typing import Optional
#id用cls_id来拼接生成,不用请求体过滤
-4
View File
@@ -2,10 +2,6 @@
import decimal
from pydantic import BaseModel, Field
# from datetime import datetime
# from typing import Optional
# ---------- 请求模型 ----------
-4
View File
@@ -1,10 +1,6 @@
#老师表请求体模型
from http.client import HTTPException
from typing import Optional
from fastapi.openapi.utils import status_code_ranges
from pydantic import Field, BaseModel, field_validator
from database import Base # Base 在 database.py 中
#添加教师信息请求体
class TeacherAdd(BaseModel):