From 475c5c2efee91120ecc4e4693e7b62ae178acb85 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sat, 19 Sep 2026 17:29:55 +0800 Subject: [PATCH 01/21] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=81=9A=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ffa01f..ac6ff31 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ -# SST +""" +学⽣基本信息表 sid +学生考试信息表 cid +学⽣考核成绩表 cid,sid +学⽣就业管理模表 sid +班级管理表 bid,sid +⽼师管理表 bid +modle:5个文件,里面放数据库模型类 +dao:6个文件,里面放数据交互逻辑(增删改查) 多一个复杂查询 +api:6个文件,里面放调用dao的逻辑,多一个复杂查询的调用 +schema:5个文件,穿插着写请求体和响应体 +""" \ No newline at end of file From a21a36086934c3fc43836a6e4cad82cc995ee683 Mon Sep 17 00:00:00 2001 From: 00MSJ1122 <1253313142@qq.com> Date: Sat, 19 Sep 2026 17:41:55 +0800 Subject: [PATCH 02/21] text --- PythonProject/model/Student_model.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 PythonProject/model/Student_model.py diff --git a/PythonProject/model/Student_model.py b/PythonProject/model/Student_model.py new file mode 100644 index 0000000..54930af --- /dev/null +++ b/PythonProject/model/Student_model.py @@ -0,0 +1 @@ +asdasadada \ No newline at end of file From d263a148f5f80dc41165c9c212a14edb40c51cec Mon Sep 17 00:00:00 2001 From: 00MSJ1122 <1253313142@qq.com> Date: Sat, 19 Sep 2026 17:45:59 +0800 Subject: [PATCH 03/21] text --- PythonProject/model/Student_model.py | 1 - 1 file changed, 1 deletion(-) diff --git a/PythonProject/model/Student_model.py b/PythonProject/model/Student_model.py index 54930af..e69de29 100644 --- a/PythonProject/model/Student_model.py +++ b/PythonProject/model/Student_model.py @@ -1 +0,0 @@ -asdasadada \ No newline at end of file From 5323d5b076d5811617b73764ab71c1a9e96eed71 Mon Sep 17 00:00:00 2001 From: test1 Date: Sat, 19 Sep 2026 17:49:10 +0800 Subject: [PATCH 04/21] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/Teacher_model.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 PythonProject/model/Teacher_model.py diff --git a/PythonProject/model/Teacher_model.py b/PythonProject/model/Teacher_model.py new file mode 100644 index 0000000..49819fd --- /dev/null +++ b/PythonProject/model/Teacher_model.py @@ -0,0 +1 @@ +# MaRuiZhi NB \ No newline at end of file From f838123bf1961fe87b3b70cbaa0378a5731b15da Mon Sep 17 00:00:00 2001 From: wolin_chenyulin001 <123@163.com> Date: Sat, 19 Sep 2026 17:50:26 +0800 Subject: [PATCH 05/21] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E5=B0=B1=E4=B8=9A=E4=BF=A1=E6=81=AF=E8=A1=A8=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/schema/stu_emp_Info .py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 PythonProject/schema/stu_emp_Info .py diff --git a/PythonProject/schema/stu_emp_Info .py b/PythonProject/schema/stu_emp_Info .py new file mode 100644 index 0000000..c5587ca --- /dev/null +++ b/PythonProject/schema/stu_emp_Info .py @@ -0,0 +1,3 @@ +''' +学生就业信息 +''' \ No newline at end of file From 2ec0911eac486910d537ad1cac7fde642dacb1ab Mon Sep 17 00:00:00 2001 From: test1 Date: Sat, 19 Sep 2026 17:51:08 +0800 Subject: [PATCH 06/21] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/Teacher_model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PythonProject/model/Teacher_model.py b/PythonProject/model/Teacher_model.py index 49819fd..04b137c 100644 --- a/PythonProject/model/Teacher_model.py +++ b/PythonProject/model/Teacher_model.py @@ -1 +1,2 @@ -# MaRuiZhi NB \ No newline at end of file +# MaRuiZhi NB +# MaRuiZhi NB Plus \ No newline at end of file From 187ddee27bf9e13815af890492acd1878fdb68c8 Mon Sep 17 00:00:00 2001 From: 0919word <835535015@qq.com> Date: Sat, 19 Sep 2026 17:52:05 +0800 Subject: [PATCH 07/21] text --- PythonProject/model/0022.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 PythonProject/model/0022.py diff --git a/PythonProject/model/0022.py b/PythonProject/model/0022.py new file mode 100644 index 0000000..e69de29 From 3701ea27ce3a305aed97e9fa78994f94237314c7 Mon Sep 17 00:00:00 2001 From: test1 Date: Sat, 19 Sep 2026 17:52:07 +0800 Subject: [PATCH 08/21] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/Teacher_model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PythonProject/model/Teacher_model.py b/PythonProject/model/Teacher_model.py index 04b137c..49035bc 100644 --- a/PythonProject/model/Teacher_model.py +++ b/PythonProject/model/Teacher_model.py @@ -1,2 +1,3 @@ # MaRuiZhi NB -# MaRuiZhi NB Plus \ No newline at end of file +# MaRuiZhi NB Plus +# hahaha \ No newline at end of file From 49cde6c60bd6f12de465af77209e26a995242f2d Mon Sep 17 00:00:00 2001 From: wolin_chenyulin001 <123@163.com> Date: Sat, 19 Sep 2026 18:01:30 +0800 Subject: [PATCH 09/21] =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=9A=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/schema/stu_emp_Info .py | 3 --- 1 file changed, 3 deletions(-) diff --git a/PythonProject/schema/stu_emp_Info .py b/PythonProject/schema/stu_emp_Info .py index c5587ca..e69de29 100644 --- a/PythonProject/schema/stu_emp_Info .py +++ b/PythonProject/schema/stu_emp_Info .py @@ -1,3 +0,0 @@ -''' -学生就业信息 -''' \ No newline at end of file From 9eb0b50b367f1090b1c9db356bfad0ecd7724bc6 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 13:58:20 +0800 Subject: [PATCH 10/21] =?UTF-8?q?=E9=9C=80=E6=B1=82=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmpl/work/dao/order_dao.py | 6 +++- tmpl/work/util/database.py | 1 - 需求文档.md | 64 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 需求文档.md diff --git a/tmpl/work/dao/order_dao.py b/tmpl/work/dao/order_dao.py index fb0bc1a..abe7fe7 100644 --- a/tmpl/work/dao/order_dao.py +++ b/tmpl/work/dao/order_dao.py @@ -1,10 +1,11 @@ from fastapi import Form,HTTPException from model.order_model import OrderModel from schema.order_schema import OrderRequest -from util.database import db +from util.database import Session def select_orders(): try: + db = Session() order_list = db.query(OrderModel).all() return order_list except: @@ -12,6 +13,7 @@ def select_orders(): def insert_users(req:OrderRequest=Form()): try: + db = Session() data = req.model_dump() db.add(OrderModel(**data)) db.commit() @@ -22,6 +24,7 @@ def insert_users(req:OrderRequest=Form()): def update_users(id:int,req:OrderRequest=Form()): try: + db = Session() db.query(OrderModel).filter(OrderModel.id == id) \ .update(req.model_dump(exclude_unset=True)) except Exception as e: @@ -32,6 +35,7 @@ def update_users(id:int,req:OrderRequest=Form()): def delete_users(id:int): try: + db = Session() db.query(OrderModel).filter(OrderModel.id == id).delete() except Exception as e: raise HTTPException(status_code=500,detail="删除异常") diff --git a/tmpl/work/util/database.py b/tmpl/work/util/database.py index bcdd5d7..3549783 100644 --- a/tmpl/work/util/database.py +++ b/tmpl/work/util/database.py @@ -6,4 +6,3 @@ engine = create_engine(db_url,pool_size=50) Base = declarative_base() Session = sessionmaker(bind=engine,autoflush=False,autocommit=False) -db = Session() diff --git a/需求文档.md b/需求文档.md new file mode 100644 index 0000000..7da7014 --- /dev/null +++ b/需求文档.md @@ -0,0 +1,64 @@ +model层 +学⽣基本信息表 **msj 作成中** +wl_score(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中,求职中,已就业)、顾问编号(暂不确定作用)、删除状态(0:已删除,1:初始值)、作成时间、更新时间) + +学⽣考核成绩表 +wl_student(学⽣编号、考核序次、成绩、删除状态(0:已删除,1:初始值)、班级编号(外键)、作成时间、更新时间) + +学⽣就业管理模表 +wl_employment(学⽣编号、就业开放时间(只有进入就业课的才会输入数据)、offer下发时间()、就业公司名称、就业薪资、删除状态(0:已删除,1:初始值)、作成时间、更新时间) + +班级管理表 +wl_class(班级编号,开课时间,删除状态(0:已删除,1:初始值),班主任(老师编号),授课⽼师(老师编号),作成时间,更新时间) + +⽼师管理表 +wl_teacher(老师编号,姓名,性别,年龄,删除状态(0:已删除,1:初始值),作成时间,更新时间) + +dao层(每一个功能就是一个函数,判断能否功能复用) + +通用模块 +删除功能:接收编号和表名来删除数据(更新删除状态这个列,即软删除) + +学生模块 +实现增加学生的功能 +实现查询学生的功能:需要能进行多条件查询 +实现更新学生信息的功能 + +成绩模块 +实现增加学生成绩的功能 +实现查询成绩的功能 +实现更新成绩的功能 + +就业模块 +实现增加学生就业信息的功能 +实现查询学生就业信息的功能 +实现修改学生就业信息的功能 + +班级模块 +实现增加班级的功能 +实现查询班级的功能 +实现更新班级的功能 + +老师模块 +实现增加老师的功能 +实现查询老师的功能 +实现更新老师的功能 + +统计分析模块 +实现根据年龄查询学生信息的功能 +实现统计每个班级的学员总数以及男女生的总数的功能 +实现根据成绩查询学员信息的功能 +实现统计每次考试每个班级的平均分并排序的功能 +实现统计薪资最高的前五名的学员信息 +实现查询每个学生的就业时长 +实现统计每个班级的平均就业时长 + +api层 +每一个函数对应一个接口 + +schema层 +请求体 +增加和查询功能 + +响应体 +查询功能 From 275e4b84c9f5201b816e88d84b7c1cbe59399431 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 14:06:57 +0800 Subject: [PATCH 11/21] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E8=A1=A8=E5=88=97?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 需求文档.md | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/需求文档.md b/需求文档.md index 7da7014..22489b9 100644 --- a/需求文档.md +++ b/需求文档.md @@ -1,57 +1,57 @@ model层 学⽣基本信息表 **msj 作成中** -wl_score(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中,求职中,已就业)、顾问编号(暂不确定作用)、删除状态(0:已删除,1:初始值)、作成时间、更新时间) +wl_score(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中=0,求职中=1,已就业=2)、顾问编号(人事老师)、删除状态(0:初始值,1:已删除)、班级编号(外键)、作成时间、更新时间) -学⽣考核成绩表 -wl_student(学⽣编号、考核序次、成绩、删除状态(0:已删除,1:初始值)、班级编号(外键)、作成时间、更新时间) +学⽣考核成绩表 **xxx 做成中** +wl_student(学⽣编号、考核序次、成绩、删除状态(0:已删除,1:初始值)、作成时间、更新时间) -学⽣就业管理模表 +学⽣就业管理模表 **xxx 做成中** wl_employment(学⽣编号、就业开放时间(只有进入就业课的才会输入数据)、offer下发时间()、就业公司名称、就业薪资、删除状态(0:已删除,1:初始值)、作成时间、更新时间) -班级管理表 +班级管理表 **xxx 做成中** wl_class(班级编号,开课时间,删除状态(0:已删除,1:初始值),班主任(老师编号),授课⽼师(老师编号),作成时间,更新时间) -⽼师管理表 -wl_teacher(老师编号,姓名,性别,年龄,删除状态(0:已删除,1:初始值),作成时间,更新时间) +⽼师管理表 **xxx 做成中** +wl_teacher(老师编号,姓名,性别,年龄,删除状态(0:已删除,1:初始值),职位,作成时间,更新时间) dao层(每一个功能就是一个函数,判断能否功能复用) 通用模块 -删除功能:接收编号和表名来删除数据(更新删除状态这个列,即软删除) +删除功能:接收编号和表名来删除数据(更新删除状态这个列,即软删除)**mrz 做成中** 学生模块 -实现增加学生的功能 -实现查询学生的功能:需要能进行多条件查询 -实现更新学生信息的功能 +实现增加学生的功能 **xxx 做成中** +实现查询学生的功能:需要能进行多条件查询 **xxx 做成中** +实现更新学生信息的功能 **xxx 做成中** 成绩模块 -实现增加学生成绩的功能 -实现查询成绩的功能 -实现更新成绩的功能 +实现增加学生成绩的功能 **xxx 做成中** +实现查询成绩的功能 **xxx 做成中** +实现更新成绩的功能 **xxx 做成中** 就业模块 -实现增加学生就业信息的功能 -实现查询学生就业信息的功能 -实现修改学生就业信息的功能 +实现增加学生就业信息的功能 **xxx 做成中** +实现查询学生就业信息的功能 **xxx 做成中** +实现修改学生就业信息的功能 **xxx 做成中** 班级模块 -实现增加班级的功能 -实现查询班级的功能 -实现更新班级的功能 +实现增加班级的功能 **xxx 做成中** +实现查询班级的功能 **xxx 做成中** +实现更新班级的功能 **xxx 做成中** 老师模块 -实现增加老师的功能 -实现查询老师的功能 -实现更新老师的功能 +实现增加老师的功能 **xxx 做成中** +实现查询老师的功能 **xxx 做成中** +实现更新老师的功能 **xxx 做成中** 统计分析模块 -实现根据年龄查询学生信息的功能 -实现统计每个班级的学员总数以及男女生的总数的功能 -实现根据成绩查询学员信息的功能 -实现统计每次考试每个班级的平均分并排序的功能 -实现统计薪资最高的前五名的学员信息 -实现查询每个学生的就业时长 -实现统计每个班级的平均就业时长 +实现根据年龄查询学生信息的功能 **xxx 做成中** +实现统计每个班级的学员总数以及男女生的总数的功能 **xxx 做成中** +实现根据成绩查询学员信息的功能 **xxx 做成中** +实现统计每次考试每个班级的平均分并排序的功能 **xxx 做成中** +实现统计薪资最高的前五名的学员信息 **xxx 做成中** +实现查询每个学生的就业时长 **xxx 做成中** +实现统计每个班级的平均就业时长 **xxx 做成中** api层 每一个函数对应一个接口 From f1e1f1ee6fbbc5b9d7eaef500465552bb39df427 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 14:21:27 +0800 Subject: [PATCH 12/21] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E8=A1=A8=E5=88=97?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/model/0022.py | 0 PythonProject/util/database.py | 9 ++++++++- tmpl/work/util/database.py | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) delete mode 100644 PythonProject/model/0022.py diff --git a/PythonProject/model/0022.py b/PythonProject/model/0022.py deleted file mode 100644 index e69de29..0000000 diff --git a/PythonProject/util/database.py b/PythonProject/util/database.py index bcdd5d7..7c72545 100644 --- a/PythonProject/util/database.py +++ b/PythonProject/util/database.py @@ -6,4 +6,11 @@ engine = create_engine(db_url,pool_size=50) Base = declarative_base() Session = sessionmaker(bind=engine,autoflush=False,autocommit=False) -db = Session() + +def get_db(): + db = Session() + try: + yield db + finally: + db.close() + diff --git a/tmpl/work/util/database.py b/tmpl/work/util/database.py index 3549783..dc0a500 100644 --- a/tmpl/work/util/database.py +++ b/tmpl/work/util/database.py @@ -6,3 +6,10 @@ engine = create_engine(db_url,pool_size=50) Base = declarative_base() Session = sessionmaker(bind=engine,autoflush=False,autocommit=False) + +def get_db(): + db = Session() + try: + yield db + finally: + db.close() From ab9ef1c335d79b69bf3983d78c04f4e2a0ad22f6 Mon Sep 17 00:00:00 2001 From: 00MSJ1122 <1253313142@qq.com> Date: Sun, 20 Sep 2026 14:26:23 +0800 Subject: [PATCH 13/21] text --- PythonProject/model/Student_model.py | 30 ++++++++++++++++++++++++++++ 需求文档.md | 4 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/PythonProject/model/Student_model.py b/PythonProject/model/Student_model.py index e69de29..bf136f4 100644 --- a/PythonProject/model/Student_model.py +++ b/PythonProject/model/Student_model.py @@ -0,0 +1,30 @@ +from sqlalchemy import DATETIME,Column, Integer, String, Date,ForeignKey +from sqlalchemy.orm import declarative_base +import datetime +Base = declarative_base() +class Student(Base): + __tablename__ = 'wl_student' + stu_id = Column(Integer + , primary_key=True + , autoincrement=True + ,comment='学生编号') + class_id=Column(Integer + ,ForeignKey('wl_class.class_id') + ,nullable=False + ,comment='班级编号') + stu_name=Column(String(100),comment='学生姓名') + age=Column(Integer,comment='年龄') + gender=Column(String(50),comment='性别') + native_place=Column(String(200),comment='籍贯') + birthday=Column(Date,comment='生日') + school=Column(String(100),comment='毕业学校') + major=Column(String(50),comment='专业') + degree=Column(String(50),comment='学位') + admission_date=Column(Date,comment='入学日期') + graduation_date=Column(Date,comment='毕业日期') + create_date=Column(DATETIME + ,default=datetime.now) + update_date=Column(DATETIME + ,default=datetime.now + ,onupdate=datetime.now) + progress=Column(Integer,default=0) \ No newline at end of file diff --git a/需求文档.md b/需求文档.md index 22489b9..6c553ca 100644 --- a/需求文档.md +++ b/需求文档.md @@ -1,9 +1,9 @@ model层 学⽣基本信息表 **msj 作成中** -wl_score(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中=0,求职中=1,已就业=2)、顾问编号(人事老师)、删除状态(0:初始值,1:已删除)、班级编号(外键)、作成时间、更新时间) +wl_student(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中=0,求职中=1,已就业=2)、顾问编号(人事老师)、删除状态(0:初始值,1:已删除)、班级编号(外键)、作成时间、更新时间) 学⽣考核成绩表 **xxx 做成中** -wl_student(学⽣编号、考核序次、成绩、删除状态(0:已删除,1:初始值)、作成时间、更新时间) +wl_score(学⽣编号、考核序次、成绩、删除状态(0:已删除,1:初始值)、作成时间、更新时间) 学⽣就业管理模表 **xxx 做成中** wl_employment(学⽣编号、就业开放时间(只有进入就业课的才会输入数据)、offer下发时间()、就业公司名称、就业薪资、删除状态(0:已删除,1:初始值)、作成时间、更新时间) From 7f419fb8ad36a5bc4391f3abfa396b9cd5bb211d Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 14:31:52 +0800 Subject: [PATCH 14/21] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E7=B1=BB=E5=90=8D=E4=BF=AE=E6=94=B9=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=90=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/dao/student_dao.py | 2 ++ .../model/{Student_model.py => student_model.py} | 10 +++++++--- .../model/{Teacher_model.py => teacher_model.py} | 0 需求文档.md | 5 +++++ 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 PythonProject/dao/student_dao.py rename PythonProject/model/{Student_model.py => student_model.py} (90%) rename PythonProject/model/{Teacher_model.py => teacher_model.py} (100%) diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py new file mode 100644 index 0000000..db973ca --- /dev/null +++ b/PythonProject/dao/student_dao.py @@ -0,0 +1,2 @@ +from model import student_model + diff --git a/PythonProject/model/Student_model.py b/PythonProject/model/student_model.py similarity index 90% rename from PythonProject/model/Student_model.py rename to PythonProject/model/student_model.py index bf136f4..c33c024 100644 --- a/PythonProject/model/Student_model.py +++ b/PythonProject/model/student_model.py @@ -2,7 +2,8 @@ from sqlalchemy import DATETIME,Column, Integer, String, Date,ForeignKey from sqlalchemy.orm import declarative_base import datetime Base = declarative_base() -class Student(Base): + +class Student_Model(Base): __tablename__ = 'wl_student' stu_id = Column(Integer , primary_key=True @@ -19,7 +20,7 @@ class Student(Base): birthday=Column(Date,comment='生日') school=Column(String(100),comment='毕业学校') major=Column(String(50),comment='专业') - degree=Column(String(50),comment='学位') + degree=Column(String(50),comment='学历') admission_date=Column(Date,comment='入学日期') graduation_date=Column(Date,comment='毕业日期') create_date=Column(DATETIME @@ -27,4 +28,7 @@ class Student(Base): update_date=Column(DATETIME ,default=datetime.now ,onupdate=datetime.now) - progress=Column(Integer,default=0) \ No newline at end of file + progress=Column(Integer,default=0) + + + diff --git a/PythonProject/model/Teacher_model.py b/PythonProject/model/teacher_model.py similarity index 100% rename from PythonProject/model/Teacher_model.py rename to PythonProject/model/teacher_model.py diff --git a/需求文档.md b/需求文档.md index 6c553ca..a472c4d 100644 --- a/需求文档.md +++ b/需求文档.md @@ -23,26 +23,31 @@ dao层(每一个功能就是一个函数,判断能否功能复用) 实现增加学生的功能 **xxx 做成中** 实现查询学生的功能:需要能进行多条件查询 **xxx 做成中** 实现更新学生信息的功能 **xxx 做成中** +实现删除学生信息的功能 (更新删除状态这个列,即软删除)**xxx 做成中** 成绩模块 实现增加学生成绩的功能 **xxx 做成中** 实现查询成绩的功能 **xxx 做成中** 实现更新成绩的功能 **xxx 做成中** +实现删除成绩的功能 **xxx 做成中** 就业模块 实现增加学生就业信息的功能 **xxx 做成中** 实现查询学生就业信息的功能 **xxx 做成中** 实现修改学生就业信息的功能 **xxx 做成中** +实现删除学生就业信息的功能 **xxx 做成中** 班级模块 实现增加班级的功能 **xxx 做成中** 实现查询班级的功能 **xxx 做成中** 实现更新班级的功能 **xxx 做成中** +实现删除班级的功能 **xxx 做成中** 老师模块 实现增加老师的功能 **xxx 做成中** 实现查询老师的功能 **xxx 做成中** 实现更新老师的功能 **xxx 做成中** +实现删除老师的功能 **xxx 做成中** 统计分析模块 实现根据年龄查询学生信息的功能 **xxx 做成中** From 67e8f49c806b4f57b3aea7aa2ca709683dea90a3 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 15:32:28 +0800 Subject: [PATCH 15/21] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E7=B1=BB=E5=90=8D=E4=BF=AE=E6=94=B9=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=90=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/api/student_api.py | 11 +++++++++++ PythonProject/dao/student_dao.py | 20 +++++++++++++++++++- PythonProject/main.py | 3 ++- PythonProject/model/student_model.py | 17 ++++++++--------- PythonProject/schema/stu_emp_Info .py | 0 PythonProject/schema/student_schema.py | 20 ++++++++++++++++++++ 6 files changed, 60 insertions(+), 11 deletions(-) create mode 100644 PythonProject/api/student_api.py delete mode 100644 PythonProject/schema/stu_emp_Info .py create mode 100644 PythonProject/schema/student_schema.py diff --git a/PythonProject/api/student_api.py b/PythonProject/api/student_api.py new file mode 100644 index 0000000..b71aafc --- /dev/null +++ b/PythonProject/api/student_api.py @@ -0,0 +1,11 @@ +from fastapi import APIRouter +from dao.student_dao import select_age +from schema.student_schema import StudentResponse + +studentapi = APIRouter() + +@studentapi.get("/age",response_model=StudentResponse,tags=['统计分析模块'],description='根据年龄查询学生信息') +def get_students(min_age:int|None=None,max_age:int|None=None): + l = select_age(min_age,max_age) + return [i for i in l] + diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index db973ca..f6f5d02 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -1,2 +1,20 @@ -from model import student_model +from fastapi import HTTPException,Depends +from util.database import get_db +from model.student_model import Student_Model + + +def select_age(min_age,max_age,session=Depends(get_db)): + try: + if min_age is None and max_age is None: + raise HTTPException(status_code=400, detail="请至少传入一个参数") + session = session.query(Student_Model) + if min_age is not None: + session = session.filter(Student_Model.age >= min_age) + if max_age is not None: + session = session.filter(Student_Model.age <= max_age) + return session.all() + except HTTPException: + raise + except Exception: + raise HTTPException(status_code=500,detail="查询异常") diff --git a/PythonProject/main.py b/PythonProject/main.py index b21386e..ce32cfe 100644 --- a/PythonProject/main.py +++ b/PythonProject/main.py @@ -1,4 +1,5 @@ from fastapi import FastAPI - +from api.student_api import * app = FastAPI() +app.include_router(studentapi) diff --git a/PythonProject/model/student_model.py b/PythonProject/model/student_model.py index c33c024..f631579 100644 --- a/PythonProject/model/student_model.py +++ b/PythonProject/model/student_model.py @@ -1,7 +1,6 @@ from sqlalchemy import DATETIME,Column, Integer, String, Date,ForeignKey -from sqlalchemy.orm import declarative_base -import datetime -Base = declarative_base() +from datetime import datetime +from util.database import Base,engine class Student_Model(Base): __tablename__ = 'wl_student' @@ -9,10 +8,10 @@ class Student_Model(Base): , primary_key=True , autoincrement=True ,comment='学生编号') - class_id=Column(Integer - ,ForeignKey('wl_class.class_id') - ,nullable=False - ,comment='班级编号') + # class_id=Column(Integer + # ,ForeignKey('wl_class.class_id') + # ,nullable=False + # ,comment='班级编号') stu_name=Column(String(100),comment='学生姓名') age=Column(Integer,comment='年龄') gender=Column(String(50),comment='性别') @@ -23,12 +22,12 @@ class Student_Model(Base): degree=Column(String(50),comment='学历') admission_date=Column(Date,comment='入学日期') graduation_date=Column(Date,comment='毕业日期') + progress=Column(Integer,default=0,comment='课程进度:学习中=0,求职中=1,已就业=2') create_date=Column(DATETIME ,default=datetime.now) update_date=Column(DATETIME ,default=datetime.now ,onupdate=datetime.now) - progress=Column(Integer,default=0) - +Base.metadata.create_all(engine) diff --git a/PythonProject/schema/stu_emp_Info .py b/PythonProject/schema/stu_emp_Info .py deleted file mode 100644 index e69de29..0000000 diff --git a/PythonProject/schema/student_schema.py b/PythonProject/schema/student_schema.py new file mode 100644 index 0000000..c950945 --- /dev/null +++ b/PythonProject/schema/student_schema.py @@ -0,0 +1,20 @@ +from pydantic import BaseModel,field_serializer + +class StudentResponse(BaseModel): + code:int = 200 + detail:str = 'ok' + stu_name:str + age:int + gender:str + progress:int + + @field_serializer('progress') + def int_to_string(cls,progress:int): + d1 ={ + 0:'学习中', + 1:'求职中', + 2:'已就业' + } + return d1.get(progress,'暂不明确') + + From a7e4aba21d0947af1167ef0039f054c61d582f00 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 15:41:04 +0800 Subject: [PATCH 16/21] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=B9=B4=E9=BE=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AD=A6=E7=94=9F=E4=BF=A1=E6=81=AF=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 需求文档.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/需求文档.md b/需求文档.md index a472c4d..e2c01aa 100644 --- a/需求文档.md +++ b/需求文档.md @@ -17,7 +17,6 @@ wl_teacher(老师编号,姓名,性别,年龄,删除状态(0:已删 dao层(每一个功能就是一个函数,判断能否功能复用) 通用模块 -删除功能:接收编号和表名来删除数据(更新删除状态这个列,即软删除)**mrz 做成中** 学生模块 实现增加学生的功能 **xxx 做成中** @@ -50,7 +49,7 @@ dao层(每一个功能就是一个函数,判断能否功能复用) 实现删除老师的功能 **xxx 做成中** 统计分析模块 -实现根据年龄查询学生信息的功能 **xxx 做成中** +实现根据年龄查询学生信息的功能 **mrz 已作成** 实现统计每个班级的学员总数以及男女生的总数的功能 **xxx 做成中** 实现根据成绩查询学员信息的功能 **xxx 做成中** 实现统计每次考试每个班级的平均分并排序的功能 **xxx 做成中** @@ -58,12 +57,3 @@ dao层(每一个功能就是一个函数,判断能否功能复用) 实现查询每个学生的就业时长 **xxx 做成中** 实现统计每个班级的平均就业时长 **xxx 做成中** -api层 -每一个函数对应一个接口 - -schema层 -请求体 -增加和查询功能 - -响应体 -查询功能 From 32910d30b409f87239969fb5f93311aaa21f5e14 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 15:43:44 +0800 Subject: [PATCH 17/21] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=B9=B4=E9=BE=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AD=A6=E7=94=9F=E4=BF=A1=E6=81=AF=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/dao/student_dao.py | 1 - 1 file changed, 1 deletion(-) diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index f6f5d02..f935b0e 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -2,7 +2,6 @@ from fastapi import HTTPException,Depends from util.database import get_db from model.student_model import Student_Model - def select_age(min_age,max_age,session=Depends(get_db)): try: if min_age is None and max_age is None: From 94c20a01a3ddcb8077dc9f3878381caa88580e7c Mon Sep 17 00:00:00 2001 From: 00MSJ1122 <1253313142@qq.com> Date: Sun, 20 Sep 2026 15:53:36 +0800 Subject: [PATCH 18/21] text --- PythonProject/dao/student_dao.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index f935b0e..b93a8ed 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -17,3 +17,9 @@ def select_age(min_age,max_age,session=Depends(get_db)): except Exception: raise HTTPException(status_code=500,detail="查询异常") +def select_gender(gender,session=Depends(get_db)): + if gender is None and session is None: + return None + + + From ca4a0f134c5b817cd28603b2b6944f6e808e2bf0 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 15:55:33 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E8=A6=86=E7=9B=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/dao/student_dao.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/PythonProject/dao/student_dao.py b/PythonProject/dao/student_dao.py index b93a8ed..edc92f2 100644 --- a/PythonProject/dao/student_dao.py +++ b/PythonProject/dao/student_dao.py @@ -17,9 +17,8 @@ def select_age(min_age,max_age,session=Depends(get_db)): except Exception: raise HTTPException(status_code=500,detail="查询异常") -def select_gender(gender,session=Depends(get_db)): - if gender is None and session is None: - return None +def abc(): + return None From 83721d8ab91e8c065cf12dc001839a9b15b64829 Mon Sep 17 00:00:00 2001 From: maruizhi <3088243241@qq.com> Date: Sun, 20 Sep 2026 15:58:41 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E6=B3=A8=E6=84=8F=E4=BA=8B=E9=A1=B9?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 需求文档.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/需求文档.md b/需求文档.md index e2c01aa..42c7048 100644 --- a/需求文档.md +++ b/需求文档.md @@ -1,3 +1,7 @@ +注意事项 必读!!!! +开始作业前记得点左边conding上的更新项目 +在提交文件时,右键点击文件选显示差异选项,看看有没有冲突 + model层 学⽣基本信息表 **msj 作成中** wl_student(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中=0,求职中=1,已就业=2)、顾问编号(人事老师)、删除状态(0:初始值,1:已删除)、班级编号(外键)、作成时间、更新时间) From d0c63f7de87d31cf1f7bbce1865f9dfda4962a35 Mon Sep 17 00:00:00 2001 From: 0919word <835535015@qq.com> Date: Sun, 20 Sep 2026 16:09:58 +0800 Subject: [PATCH 21/21] text --- PythonProject/model/class_model.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 PythonProject/model/class_model.py diff --git a/PythonProject/model/class_model.py b/PythonProject/model/class_model.py new file mode 100644 index 0000000..e69de29