尝试合并,所有代码需要调整from后文件路径。

This commit is contained in:
Orangeeee
2026-09-22 12:23:18 +08:00
parent 73da38f445
commit cae04fd04a
16 changed files with 116 additions and 43 deletions
+12 -2
View File
@@ -1,8 +1,18 @@
from sqlalchemy import * from sqlalchemy import *
from sqlalchemy.orm import sessionmaker,declarative_base from sqlalchemy.orm import sessionmaker,declarative_base
db_tea = 'mysql+pymysql://root:123456@127.0.0.1:3306/student_manage_system?charset=utf8mb4' # 导入.env参数
engine1 = create_engine(db_tea) import os
from dotenv import load_dotenv
load_dotenv( )
DB_USER = os.getenv("DB_USER", "root")
DB_PASSWORD = os.getenv("DB_PASSWORD", "")
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = os.getenv("DB_PORT", "3306")
DB_NAME = os.getenv("DB_NAME", "student_manage_system")
db_url = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4"
engine1 = create_engine(db_url)
Base = declarative_base() Base = declarative_base()
Session = sessionmaker(bind=engine1 Session = sessionmaker(bind=engine1
+4 -1
View File
@@ -1,6 +1,9 @@
from fastapi import FastAPI from fastapi import FastAPI,APIRouter
from Teachers.model.tea_model import * from Teachers.model.tea_model import *
from api.tea_api import tea_api from api.tea_api import tea_api
Teachers_API = APIRouter()
app = FastAPI() app = FastAPI()
app.include_router(tea_api) app.include_router(tea_api)
+3 -3
View File
@@ -1,9 +1,9 @@
from datetime import date from datetime import date
from fastapi import APIRouter,Depends,HTTPException,Query from fastapi import APIRouter,Depends,HTTPException,Query
from dao.class_management_dao import add_class_dao, update_class_dao, get_class_dao, delete_class_dao from class_management.dao.class_management_dao import add_class_dao, update_class_dao, get_class_dao, delete_class_dao
from database import get_db from class_management.database import get_db
from schema.class_management_request import ClassCreate, ClassResponse, ClassUpdate from class_management.schema.class_management_request import ClassCreate, ClassResponse, ClassUpdate
class_api = APIRouter(tags=['班级管理模块']) class_api = APIRouter(tags=['班级管理模块'])
+1 -1
View File
@@ -1,4 +1,4 @@
from model.class_management_model import ClassInfo from class_management.model.class_management_model import ClassInfo
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
+11 -1
View File
@@ -1,7 +1,17 @@
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker,declarative_base from sqlalchemy.orm import sessionmaker,declarative_base
class_management_rul = "mysql+pymysql://root:123456@localhost:3306/student_manage_system?charset=utf8mb4" # 导入.env参数
import os
from dotenv import load_dotenv
load_dotenv( )
DB_USER = os.getenv("DB_USER", "root")
DB_PASSWORD = os.getenv("DB_PASSWORD", "")
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = os.getenv("DB_PORT", "3306")
DB_NAME = os.getenv("DB_NAME", "student_manage_system")
class_management_rul = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4"
engine = create_engine(class_management_rul) engine = create_engine(class_management_rul)
SessionLocal = sessionmaker(bind=engine,autocommit=False, autoflush=False) SessionLocal = sessionmaker(bind=engine,autocommit=False, autoflush=False)
+7 -4
View File
@@ -1,8 +1,11 @@
from fastapi import FastAPI,APIRouter from fastapi import FastAPI,APIRouter
from api.class_management_api import class_api from class_management.api.class_management_api import class_api
from model.class_management_model import ClassInfo from class_management.model.class_management_model import ClassInfo
from database import Base,engine from class_management.database import Base,engine
import model # import model
Classes_API = APIRouter()
app = FastAPI() app = FastAPI()
app.include_router(class_api) app.include_router(class_api)
@@ -1,10 +1,10 @@
from sqlalchemy import Column, Integer, String, Date, ForeignKey from sqlalchemy import Column, Integer, String, Date, ForeignKey
from sqlalchemy.dialects.mysql import DATETIME from sqlalchemy.dialects.mysql import DATETIME
from datetime import datetime from datetime import datetime
from database import Base from class_management.database import Base
class ClassInfo(Base): class ClassInfo(Base):
__tablename__ = 'class' __tablename__ = 'classes'
id = Column(Integer id = Column(Integer
,primary_key=True ,primary_key=True
@@ -20,16 +20,16 @@ class ClassInfo(Base):
,comment='班级名称' ,comment='班级名称'
) )
head_teacher_id = Column(Integer head_teacher_id = Column(Integer
,ForeignKey('teacher.id') # ,ForeignKey('teacher.id')
,comment='班主任编号' ,comment='班主任编号'
) )
coach_teacher_id = Column(Integer coach_teacher_id = Column(Integer
,ForeignKey('teacher.id') # ,ForeignKey('teacher.id')
,comment='授课老师编号' ,comment='授课老师编号'
) )
tutor_teacher_id = Column(Integer tutor_teacher_id = Column(Integer
,ForeignKey('teacher.id') # ,ForeignKey('teacher.id')
,comment='助教老师编号' ,comment='助教老师编号'
) )
# class_teacher = Column(String(50) # class_teacher = Column(String(50)
+15 -4
View File
@@ -1,11 +1,22 @@
from fastapi import FastAPI from fastapi import FastAPI,APIRouter
from class_management.main import Classes_API
from scores.main import Scores_API
from stu_jiuye.main import Shtudent_Jiuye
from students.main import Students_API
from Teachers.main import Teachers_API
app = FastAPI() app = FastAPI(title="学生管理系统")
app.include_router(Classes_API,tags=["classes"])
app.include_router(Scores_API,tags=["scores"])
app.include_router(Shtudent_Jiuye,tags=["Employments"])
app.include_router(Students_API,tags=["students"])
app.include_router(Teachers_API,tags=["teachers"])
@app.get("/")
def main(): def main():
print("Hello from student-manage-system!") print("Hello from student-manage-system!")
if __name__ == "__main__": if __name__ == "__main__":
main() import uvicorn
uvicorn.run("main:app", host="0.0.0.0", port=59000)
+11 -1
View File
@@ -1,7 +1,17 @@
from sqlalchemy import * from sqlalchemy import *
from sqlalchemy.orm import declarative_base,sessionmaker from sqlalchemy.orm import declarative_base,sessionmaker
db_url='mysql+pymysql://root:123456@127.0.0.1:3306/student_manage_system?charset=utf8mb4' # 导入.env参数
import os
from dotenv import load_dotenv
load_dotenv( )
DB_USER = os.getenv("DB_USER", "root")
DB_PASSWORD = os.getenv("DB_PASSWORD", "")
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = os.getenv("DB_PORT", "3306")
DB_NAME = os.getenv("DB_NAME", "student_manage_system")
db_url = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4"
engine = create_engine(db_url) engine = create_engine(db_url)
Base = declarative_base() Base = declarative_base()
+4 -1
View File
@@ -1,6 +1,9 @@
from fastapi import FastAPI from fastapi import FastAPI,APIRouter
from scores.api.score_api import score_api from scores.api.score_api import score_api
from scores.database import * from scores.database import *
Scores_API = APIRouter()
app = FastAPI() app = FastAPI()
app.include_router(score_api) app.include_router(score_api)
+2 -2
View File
@@ -1,9 +1,9 @@
import datetime import datetime
from fastapi import APIRouter,Depends,HTTPException from fastapi import APIRouter,Depends,HTTPException
from dao import * from stu_jiuye.dao import *
from stu_jiuye.request import PostRequest, EmpResponse, AddRequest,AddResponse,CompRequest,CompResponse from stu_jiuye.request import PostRequest, EmpResponse, AddRequest,AddResponse,CompRequest,CompResponse
from database import get_db from stu_jiuye.database import get_db
CURD=APIRouter() CURD=APIRouter()
+11 -1
View File
@@ -1,7 +1,17 @@
from sqlalchemy import * from sqlalchemy import *
from sqlalchemy.orm import declarative_base,sessionmaker from sqlalchemy.orm import declarative_base,sessionmaker
db_url = "mysql+pymysql://root:123456@127.0.0.1:3306/ai0824_001?charset=utf8mb4" # 导入.env参数
import os
from dotenv import load_dotenv
load_dotenv( )
DB_USER = os.getenv("DB_USER", "root")
DB_PASSWORD = os.getenv("DB_PASSWORD", "")
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = os.getenv("DB_PORT", "3306")
DB_NAME = os.getenv("DB_NAME", "student_manage_system")
db_url = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4"
engine = create_engine(db_url engine = create_engine(db_url
, pool_size=50 , pool_size=50
, echo=True , echo=True
+6 -4
View File
@@ -1,7 +1,9 @@
from fastapi import FastAPI from fastapi import FastAPI,APIRouter
from CURD_api import CURD from stu_jiuye.CURD_api import CURD
from database import Base,engine from stu_jiuye.database import Base,engine
import model
Shtudent_Jiuye = APIRouter()
app=FastAPI() app=FastAPI()
Base.metadata.create_all(engine) Base.metadata.create_all(engine)
app.include_router(CURD,tags=['就业管理系统']) app.include_router(CURD,tags=['就业管理系统'])
+5 -5
View File
@@ -6,9 +6,9 @@ from students.model.students_model import *
from students.schema.students_request import * from students.schema.students_request import *
from students.databases import * from students.databases import *
students_api = APIRouter() s_api = APIRouter()
@students_api.get("/students" @s_api.get("/students"
,summary='学生资料查询' ,summary='学生资料查询'
,description=f'筛选条件全为空即查询所有学生资料,输入薪资会查询大于输入薪资以上的学生。\n ' ,description=f'筛选条件全为空即查询所有学生资料,输入薪资会查询大于输入薪资以上的学生。\n '
f'时间格式:YYYY-MM-DD' f'时间格式:YYYY-MM-DD'
@@ -24,7 +24,7 @@ def get_students( stu:StudentsQuery = Depends()
raise HTTPException(status_code=404, detail="没有找到符合条件的学生") raise HTTPException(status_code=404, detail="没有找到符合条件的学生")
@students_api.post("/students" @s_api.post("/students"
,summary='新增学生资料' ,summary='新增学生资料'
,description=f'学生ID自动分配,学生姓名、学生手机号和班级是必填项,不能为空。\n ' ,description=f'学生ID自动分配,学生姓名、学生手机号和班级是必填项,不能为空。\n '
f'时间格式:YYYY-MM-DD' f'时间格式:YYYY-MM-DD'
@@ -38,7 +38,7 @@ def add_student( stu:StudentsResponse = Depends()
raise HTTPException(status_code=500, detail='手机号已有学生使用或必填项为空。') raise HTTPException(status_code=500, detail='手机号已有学生使用或必填项为空。')
return result return result
@students_api.put("/students" @s_api.put("/students"
,summary='学生资料更新' ,summary='学生资料更新'
,description=f'请输入需要更新信息的学生ID,学生手机号不可重复,填写即更新,为空即不更新。\n ' ,description=f'请输入需要更新信息的学生ID,学生手机号不可重复,填写即更新,为空即不更新。\n '
f'时间格式:YYYY-MM-DD' f'时间格式:YYYY-MM-DD'
@@ -52,7 +52,7 @@ def get_students( stu:StudentsUpdate = Depends()
raise HTTPException(status_code=500, detail='手机号已有学生使用。') raise HTTPException(status_code=500, detail='手机号已有学生使用。')
return result return result
@students_api.delete("/students" @s_api.delete("/students"
,summary='删除学生资料' ,summary='删除学生资料'
,description=f'输入需要删除的学生信息,删除条件任选,但不可全为空,工资筛选能删除大于等于输入工资的所有人。\n ' ,description=f'输入需要删除的学生信息,删除条件任选,但不可全为空,工资筛选能删除大于等于输入工资的所有人。\n '
f'时间格式:YYYY-MM-DD' f'时间格式:YYYY-MM-DD'
+11 -1
View File
@@ -3,7 +3,17 @@
from sqlalchemy import * from sqlalchemy import *
from sqlalchemy.orm import sessionmaker,declarative_base from sqlalchemy.orm import sessionmaker,declarative_base
db_url = "mysql+pymysql://root:420821@localhost:3306/student_manage_system?charset=utf8mb4" # 导入.env参数
import os
from dotenv import load_dotenv
load_dotenv( )
DB_USER = os.getenv("DB_USER", "root")
DB_PASSWORD = os.getenv("DB_PASSWORD", "")
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = os.getenv("DB_PORT", "3306")
DB_NAME = os.getenv("DB_NAME", "student_manage_system")
db_url = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4"
engine1 = create_engine(db_url) engine1 = create_engine(db_url)
+8 -7
View File
@@ -1,9 +1,11 @@
from fastapi import FastAPI from fastapi import FastAPI,APIRouter
from students.api.students_api import students_api from students.api.students_api import s_api
from students.databases import * from students.databases import *
from students.model import students_model from students.model import students_model
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
Students_API = APIRouter()
@asynccontextmanager @asynccontextmanager
async def lifespan(app: FastAPI): async def lifespan(app: FastAPI):
Base.metadata.create_all(engine1) Base.metadata.create_all(engine1)
@@ -12,14 +14,13 @@ async def lifespan(app: FastAPI):
app = FastAPI(title="学生管理系统",lifespan=lifespan) # 这里必须把上面写的加上 app = FastAPI(title="学生管理系统",lifespan=lifespan) # 这里必须把上面写的加上
app.include_router(students_api,tags=["students"]) app.include_router(s_api,tags=["students"])
def main():
print("Hello from student-manage-system!")
if __name__ == "__main__": if __name__ == "__main__":
def main():
print("Hello from student-manage-system!")
import uvicorn import uvicorn
uvicorn.run("main:app", host="0.0.0.0", port=51000) uvicorn.run("main:app", host="0.0.0.0", port=51000)