From c740efc02282cac368c97ee9691b5e49122b3800 Mon Sep 17 00:00:00 2001 From: yb <739325183@qq.com> Date: Tue, 22 Sep 2026 19:44:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0debug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stu_jiuye/CURD_api.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stu_jiuye/CURD_api.py b/stu_jiuye/CURD_api.py index 2a36ce0..b0e09e5 100644 --- a/stu_jiuye/CURD_api.py +++ b/stu_jiuye/CURD_api.py @@ -1,4 +1,4 @@ -import datetime +from datetime import date from fastapi import APIRouter,Depends,HTTPException,Query from stu_jiuye.dao import * @@ -15,10 +15,10 @@ def get_stuinfo( #查询学生就业信息 ,min_salary:int|None=Query(None,description='最小薪资范围') ,max_salary:int|None=Query(None,description='最大薪资范围') ,somewhere:str|None=Query(None,description='公司地区') - ,employment_open_start: datetime.date | None = Query(None,description='就业开放起始时间') - ,employment_open_end: datetime.date | None = Query(None,description='就业开放结束时间') - ,offer_recived_start: datetime.date | None = Query(None,description='offer下发起始时间') - ,offer_recived_end: datetime.date | None = Query(None,description='offer下发结束时间') + ,employment_open_start: date|None = Query(None,description='就业开放起始时间') + ,employment_open_end: date|None = Query(None,description='就业开放结束时间') + ,offer_recived_start: date|None = Query(None,description='offer下发起始时间') + ,offer_recived_end: date|None = Query(None,description='offer下发结束时间') ,db=Depends(get_db) ): #查询条件 r=get_emp_dao( #调用函数 From 4604d3ba5f56b8978b548ce1cf873a53c63a0592 Mon Sep 17 00:00:00 2001 From: yb <739325183@qq.com> Date: Tue, 22 Sep 2026 20:51:20 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=96=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- class_management/model/class_management_model.py | 6 +++--- stu_jiuye/dao.py | 13 +++++-------- stu_jiuye/model.py | 14 +++++++------- stu_jiuye/request.py | 6 +++--- 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/class_management/model/class_management_model.py b/class_management/model/class_management_model.py index af66fa6..fb6c2aa 100644 --- a/class_management/model/class_management_model.py +++ b/class_management/model/class_management_model.py @@ -22,16 +22,16 @@ class ClassInfo(Base_all): ,comment='班级名称' ) head_teacher_id = Column(Integer - ,ForeignKey('teacher.id') + ,ForeignKey('teachers.id') ,comment='班主任编号' ) coach_teacher_id = Column(Integer - ,ForeignKey('teacher.id') + ,ForeignKey('teachers.id') ,comment='授课老师编号' ) tutor_teacher_id = Column(Integer - ,ForeignKey('teacher.id') + ,ForeignKey('teachers.id') ,comment='助教老师编号' ) class_start_time = Column(Date diff --git a/stu_jiuye/dao.py b/stu_jiuye/dao.py index 9bf5d69..7d0a32b 100644 --- a/stu_jiuye/dao.py +++ b/stu_jiuye/dao.py @@ -83,10 +83,10 @@ def get_emp_dao( #获取学生 # ,page_size ): #根据选择条件获取信息 q = db.query(Employments,Company.employment_company,Address.somewhere) \ - .outerjoin(Company, Students.id == Employments.stuid) \ - .outerjoin(Company, ClassInfo.id == Employments.class_id)\ + .outerjoin(Students, Students.id == Employments.stuid) \ + .outerjoin(ClassInfo, ClassInfo.id == Employments.class_id)\ .outerjoin(Company,Employments.company_id==Company.id)\ - .outerjoin(Address,Company.address_id==Address.id)\ + .outerjoin(Address,Employments.address_id==Address.id)\ .filter(Employments.is_deleted == 0) #连接公司表和地址表,筛选未被删除信息 # if stuid: # q = q.filter( Employments.id == stuid ) @@ -99,7 +99,6 @@ def get_emp_dao( #获取学生 q = q.filter(Address.somewhere.like(f'%{somewhere}%')) if employment_company: #根据公司姓名筛选 q=q.filter(Company.employment_company.like(f'%{employment_company}%')) - # r = q.offset( (page-1)*page_size ).limit( page_size ).all() if min_salary is not None: #根据最小薪资筛选 q = q.filter(Employments.employment_salary >= min_salary) if max_salary is not None: ##根据最大薪资筛选 @@ -116,13 +115,11 @@ def get_emp_dao( #获取学生 r= q.all() if r: return [ {"id": i.id, - '学生姓名':i.sname, - '学生班级编号':i.class_id, + '学生姓名':sname, + '学生班级编号':class_id, "公司": employment_company or '未就业', "公司区域":somewhere or '-', - # "company_id": i.company_id, "薪资":i.employment_salary or '-', - # "address_id": i.address_id, "就业开放时间":i.employment_open_time.strftime('%Y-%m-%d') , "offer下发时间":i.offer_recived_time.strftime('%Y-%m-%d') # , "创建时间": i.create_time, diff --git a/stu_jiuye/model.py b/stu_jiuye/model.py index 3939295..0e9f44c 100644 --- a/stu_jiuye/model.py +++ b/stu_jiuye/model.py @@ -19,12 +19,14 @@ class Employments(Base_all): #学生 class_id = Column(Integer , ForeignKey('classes.id') ) #学生班级,冗余字段 - company_id = Column(Integer #公司id,外键匹配公司表 + company_id = Column(Integer # 公司id,外键匹配公司表 , ForeignKey('Company.id') , nullable=True - ) - + address_id = Column(Integer # 地址id,匹配地址表 + , ForeignKey('Address.id') # 外键地址表id + , nullable=False # 非空约束 + ) employment_salary = Column(Integer, nullable=True) #薪资 employment_open_time = Column(DATE, nullable=True) #就业开放时间 @@ -49,10 +51,7 @@ class Company(Base_all): #公司 employment_company = Column(String(50) #公司姓名 , nullable=False #非空约束 ) - address_id = Column(Integer #地址id,匹配地址表 - , ForeignKey('Address.id') #外键地址表id - , nullable=False #非空约束 - ) + create_time = Column(DATETIME , default=datetime.now ) @@ -71,6 +70,7 @@ class Address(Base_all): somewhere=Column(String(50) #地址区域 , nullable=False ) + create_time = Column(DATETIME , default=datetime.now ) diff --git a/stu_jiuye/request.py b/stu_jiuye/request.py index 4e3833f..288acd5 100644 --- a/stu_jiuye/request.py +++ b/stu_jiuye/request.py @@ -4,10 +4,10 @@ from pydantic import BaseModel class PostRequest(BaseModel): #学生就业信息请求体模型 # compname: str|None=None - sname: str|None=None + stuid: int|None=None class_id: int|None=None company_id:int|None=None - # address_id: int|None=None + address_id: int|None=None employment_salary: int|None=None employment_open_time:date|None=None offer_recived_time:date|None=None @@ -21,7 +21,7 @@ class EmpResponse(BaseModel): #学生就 class CompRequest(BaseModel): #公司信息请求体模型 employment_company:str - address_id: int + # address_id: int class CompResponse(BaseModel): #公司信息响应体 code: int = 200 From 336467b96a1f31541e3c0a026d4532466bfba1f1 Mon Sep 17 00:00:00 2001 From: yb <739325183@qq.com> Date: Tue, 22 Sep 2026 21:23:40 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0db.refresh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- class_management/dao/class_management_dao.py | 1 + stu_jiuye/dao.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/class_management/dao/class_management_dao.py b/class_management/dao/class_management_dao.py index 7b4450b..034a774 100644 --- a/class_management/dao/class_management_dao.py +++ b/class_management/dao/class_management_dao.py @@ -11,6 +11,7 @@ def add_class_dao(c,db): return False else: db.commit() + db.refresh(c1) return True diff --git a/stu_jiuye/dao.py b/stu_jiuye/dao.py index 7d0a32b..96ac30e 100644 --- a/stu_jiuye/dao.py +++ b/stu_jiuye/dao.py @@ -18,6 +18,7 @@ def add_employment_dao(o,db): #新增就业信息函数 return False else: db.commit() #提交事务,永久保存 + db.refresh(o1) return True def add_company_dao(o,db): #添加公司信息函数 @@ -34,6 +35,7 @@ def add_company_dao(o,db): #添加公司信息函数 return False else: db.commit() #提交事务,永久保存 + db.refresh(o1) return True def add_address_dao(o,db): #添加地址区域信息函数 try: @@ -49,6 +51,7 @@ def add_address_dao(o,db): #添加地址区域信息函数 return False else: db.commit() #提交事务,永久保存 + db.refresh(o1) return True