From 546bc68847af42e76973c6b71379f9244aa4433c Mon Sep 17 00:00:00 2001 From: wolin_liyujie <168155038@qq.com> Date: Mon, 21 Sep 2026 12:36:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=99=E5=A5=BD=E4=BA=86=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=A6=E7=94=9F=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=A6=E7=94=9Fdao=E5=B1=82=EF=BC=8Cmain=E9=87=8C=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E4=BA=86student=E2=80=94=E2=80=94router?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/student.py | 14 ++++++++++++++ dao/student.py | 16 ++++++++++++++++ main.py | 3 ++- schemas/student.py | 18 ++++++++++++++++++ 4 files changed, 50 insertions(+), 1 deletion(-) diff --git a/api/student.py b/api/student.py index e69de29..9299659 100644 --- a/api/student.py +++ b/api/student.py @@ -0,0 +1,14 @@ +from fastapi import APIRouter,Depends,HTTPException +from sqlalchemy.orm import Session +from dao.student import * +from schemas.student import StudentCreate + +student_router = APIRouter() + +@student_router.post("/student") +def create_student(request:StudentCreate,db:Session,create = Depends(create_students)): + d = request.model_dump() + r = create_students(d,db) + if not r: + raise HTTPException(status_code=500,detail='服务器繁忙,请稍后添加!') + return {'code':200,'detail':"添加学生成功"} \ No newline at end of file diff --git a/dao/student.py b/dao/student.py index e69de29..9014fe5 100644 --- a/dao/student.py +++ b/dao/student.py @@ -0,0 +1,16 @@ +from schemas.student import * +from core.database import get_db +from models.student import * +from utils.code_generator import generate_no + + +def create_students(d,db): + stu = Student(**d) + try: + db.add(stu) + generate_no("student_no", "STU", stu, db) + db.commit() + except:return False + else: + return True + diff --git a/main.py b/main.py index fe32962..377063e 100644 --- a/main.py +++ b/main.py @@ -2,13 +2,14 @@ from fastapi import FastAPI from api.example import example_router from middleware import log_middleware import uvicorn +from api.student import student_router app = FastAPI() app.middleware("http")(log_middleware) #-------------朱婷婷-------------- #-------------李玉杰-------------- - +app.include_router(student_router) #-------------张义--------------- #-------------薄鑫--------------- diff --git a/schemas/student.py b/schemas/student.py index e69de29..d4a044a 100644 --- a/schemas/student.py +++ b/schemas/student.py @@ -0,0 +1,18 @@ +from pydantic import BaseModel +from datetime import date + +class StudentCreate(BaseModel): + student_no: str|None = None + student_name: str + class_id: int + consultant_id: int | None = None + native_place: str | None = None + graduate_school: str | None = None + major: str | None = None + enrollment_date: date + graduation_date: date | None = None + education: str | None = None + age: int + gender: str + +