diff --git a/.env b/.env index bbd34b4..30b7315 100644 --- a/.env +++ b/.env @@ -1,7 +1,7 @@ # .env(放项目根目录,每个人自己建,不提交 Git) # 用来修改数据库账户密码 DB_USER=root -DB_PASSWORD=123456 +DB_PASSWORD=420821 DB_HOST=localhost DB_PORT=3306 DB_NAME=student_manage_system \ No newline at end of file diff --git a/StatCalc/api/statcalc_api.py b/StatCalc/api/statcalc_api.py index dabea0a..69e4b0b 100644 --- a/StatCalc/api/statcalc_api.py +++ b/StatCalc/api/statcalc_api.py @@ -12,11 +12,8 @@ statcalc_api = APIRouter() ,summary='人员信息查询' ,description=f'查询所有超过30岁的学员的信息。' ) -def get_students( stu:StudentsQuery = Depends() - , db=Depends(get_db) - ): - s_dict = stu.model_dump(exclude_unset=True) # 没值的不要 - result = get_student_dao( s=s_dict , db=db ) +def get_students(db=Depends(get_db)): + result = get_age_30( db=db ) if result: return result raise HTTPException(status_code=404, detail="没有找到符合条件的学生") @@ -25,9 +22,7 @@ def get_students( stu:StudentsQuery = Depends() ,summary='人数统计' ,description=f'统计每个班级的人数以及男生女生的人数。' ) -def get_students( stu:StudentsQuery = Depends() - , db=Depends(get_db) - ): +def get_students(db=Depends(get_db)): s_dict = stu.model_dump(exclude_unset=True) # 没值的不要 result = get_student_dao( s=s_dict , db=db ) if result: diff --git a/StatCalc/dao/statcalc_dao.py b/StatCalc/dao/statcalc_dao.py index 928c60b..1c3fc5a 100644 --- a/StatCalc/dao/statcalc_dao.py +++ b/StatCalc/dao/statcalc_dao.py @@ -1,6 +1,18 @@ -# from StatCalc.model.statcalc_model import from StatCalc.schema.statcalc_request import * from fastapi import HTTPException +from students.model.students_model import Students +def get_age_30(db): + q = db.query(Students).filter(Students.age>=30).all() + return q +from class_management.model.class_management_model import ClassInfo + +def get_class_count(db): + q = (db.query(ClassInfo.id) + .join(Students,Students.class_id==ClassInfo.id) + .filter() + .group_by(ClassInfo.id,Students.sex,) + .all()) + return q \ No newline at end of file diff --git a/StatCalc/model/__init__.py b/StatCalc/model/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/StatCalc/model/statcalc_model.py b/StatCalc/model/statcalc_model.py deleted file mode 100644 index e69de29..0000000 diff --git a/Teachers/main.py b/Teachers/main.py index 1cd982d..f66527a 100644 --- a/Teachers/main.py +++ b/Teachers/main.py @@ -1,6 +1,7 @@ from fastapi import FastAPI,APIRouter from Teachers.model.tea_model import * from Teachers.api.tea_api import tea_api +from Teachers.database import * # 合并接口 Teachers_API = APIRouter() diff --git a/Teachers/model/tea_model.py b/Teachers/model/tea_model.py index 155f810..6dfb492 100644 --- a/Teachers/model/tea_model.py +++ b/Teachers/model/tea_model.py @@ -1,5 +1,4 @@ from databases import engine_all,Base_all,Session -from Teachers.database import * from datetime import datetime from sqlalchemy import * import enum @@ -47,7 +46,7 @@ class Tea(Base_all): is_delete = Column(Boolean,default=False,comment='是否删除') delete_time = Column(DateTime) #科目表 -class Sub(Base): +class Sub(Base_all): __tablename__ = 'subject' id = Column(Integer , primary_key=True diff --git a/class_management/api/class_management_api.py b/class_management/api/class_management_api.py index 037ba5f..02e95b6 100644 --- a/class_management/api/class_management_api.py +++ b/class_management/api/class_management_api.py @@ -22,7 +22,7 @@ def get_one_class(id:int,db=Depends(get_db)): res = get_class_dao(c={'id':id},db=db) if not res: raise HTTPException(status_code=404, detail="该班级不存在或已删除") - return ClassResponse(total=1,data=res[0]) + return ClassResponse(totals=1,data=res[0]) @class_api.get('',summary='多字段查询班级') def get_some_classes( num:str|None = Query(None,description='班级编号') diff --git a/main.py b/main.py index c0906d6..6432ac7 100644 --- a/main.py +++ b/main.py @@ -4,21 +4,21 @@ 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 -from StatCalc.main import StatCalc_API +# from StatCalc.main import StatCalc_API from databases import * app = FastAPI(title="学生管理系统") -Base_all.metadata.create_all(bind=engine_all) - 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.include_router(StatCalc_API,tags=["StatCalc"]) +# app.include_router(StatCalc_API,tags=["StatCalc"]) +Base_all.metadata.create_all(bind=engine_all) + if __name__ == "__main__": def main(): print("Hello from student-manage-system!") diff --git a/scores/model/score_model.py b/scores/model/score_model.py index 7a95ff7..2f5e0db 100644 --- a/scores/model/score_model.py +++ b/scores/model/score_model.py @@ -3,10 +3,6 @@ from scores.database import Base from datetime import datetime from sqlalchemy import DateTime,Column,Integer,String,Float,ForeignKey - - -class Score(Base): -from sqlalchemy import DateTime,Column,Integer,String,Float class Score(Base_all): __tablename__='scores' id = Column(Integer diff --git a/stu_jiuye/model.py b/stu_jiuye/model.py index 1bb1ebf..7cc131a 100644 --- a/stu_jiuye/model.py +++ b/stu_jiuye/model.py @@ -1,11 +1,8 @@ from databases import engine_all,Base_all,Session from sqlalchemy import ForeignKey -from student_manage_system import students,classes from stu_jiuye.database import DATETIME,Base,Column,Integer,String,DATE from datetime import datetime - - class Employments(Base_all): #学生就业信息基类 __tablename__ = 'Employments' #表名 id = Column(Integer #主键,自增主键 diff --git a/students/StudentsQuery.sql b/students/StudentsQuery.sql index 87eb3b4..377ff29 100644 --- a/students/StudentsQuery.sql +++ b/students/StudentsQuery.sql @@ -14,3 +14,12 @@ select * from students limit 50; desc students; + +select * +from cast(student_manage_system as BINARY) +where age >30 +join on +group by +having +order by +limit \ No newline at end of file