From 71118806f1b7de423ba0a027bdcea519fe5bdb32 Mon Sep 17 00:00:00 2001 From: Corning Zhao Date: Mon, 14 Sep 2026 12:12:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=B1=E4=B8=9A=E6=A8=A1=E5=9D=97=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/wl_emp_api.py | 3 ++- dao/wl_emp_dao.py | 12 +++--------- model/wl_emp_model.py | 7 ++++--- scheme/wl_emp_scheme.py | 3 ++- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/api/wl_emp_api.py b/api/wl_emp_api.py index 8981ddb..8a5ee1c 100644 --- a/api/wl_emp_api.py +++ b/api/wl_emp_api.py @@ -16,7 +16,7 @@ def query_list( skip: int = 0, limit: int = 100, company_name: Optional[str] = None, - db: Session = Depends(get_db), + db: Session = Depends(get_db) ): return EmpDAO.list_emps(db, skip, limit, company_name) @@ -54,3 +54,4 @@ def remove_emp(stu_no: str, db: Session = Depends(get_db)): if not EmpDAO.delete_emp(db, stu_no): raise HTTPException(status_code=404, detail="就业信息不存在") return {"code": 200, "msg": "删除成功"} + diff --git a/dao/wl_emp_dao.py b/dao/wl_emp_dao.py index 6be5b52..1513d36 100644 --- a/dao/wl_emp_dao.py +++ b/dao/wl_emp_dao.py @@ -17,18 +17,14 @@ class EmpDAO: @staticmethod def list_emps(db: Session, skip: int = 0, limit: int = 100, company_name: str = None): - """查询就业列表,顺带把学生姓名带上""" + """查询就业列表""" q = db.query(Emp).filter(Emp.is_deleted == 0) if company_name: q = q.filter(Emp.company_name.like(f"%{company_name}%")) emp_list = q.offset(skip).limit(limit).all() for e in emp_list: - stu = db.query(Student).filter( - Student.stu_no == e.stu_no, - Student.is_deleted == 0, - ).first() - e.stu_name = stu.stu_name if stu else None + e.stu_name = e.student.stu_name return emp_list @staticmethod @@ -38,9 +34,7 @@ class EmpDAO: Emp.stu_no == stu_no, Emp.is_deleted == 0, ).first() - if emp: - stu = EmpDAO.get_student(db, stu_no) - emp.stu_name = stu.stu_name if stu else None + emp.stu_name =emp.student.stu_name return emp @staticmethod diff --git a/model/wl_emp_model.py b/model/wl_emp_model.py index 6d26ac6..66157d3 100644 --- a/model/wl_emp_model.py +++ b/model/wl_emp_model.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String, func +from sqlalchemy import Column, DateTime, ForeignKey, Integer, String from sqlalchemy.orm import relationship from database import Base @@ -9,8 +9,8 @@ class Emp(Base): # 学号做主键,同时做外键指向学生表,长度跟 Student.stu_no 保持一致 stu_no = Column(String(20), ForeignKey('wl_student.stu_no'), primary_key=True) - emp_open_time = Column(DateTime, default="2026-11-30 18:18:18") - offer_time = Column(DateTime, default=func.now()) + emp_open_time = Column(DateTime) + offer_time = Column(DateTime) company_name = Column(String(100), nullable=False) salary = Column(Integer, nullable=False, default=15000) @@ -21,3 +21,4 @@ class Emp(Base): def __repr__(self): return f"" + diff --git a/scheme/wl_emp_scheme.py b/scheme/wl_emp_scheme.py index e21376a..7230649 100644 --- a/scheme/wl_emp_scheme.py +++ b/scheme/wl_emp_scheme.py @@ -8,7 +8,7 @@ class EmpCreate(BaseModel): emp_open_time: Optional[datetime] = Field(None, description="不传用表默认值") offer_time: Optional[datetime] = Field(None, description="不传用数据库当前时间") company_name: str = Field(..., max_length=100, description="公司名称") - salary: Optional[int] = Field(None, description="不传用默认值 15000") + salary: Optional[int] = Field(15000, description="不传用默认值 15000") class EmpUpdate(BaseModel): emp_open_time: Optional[datetime] = None @@ -26,3 +26,4 @@ class EmpOut(BaseModel): salary: Optional[int] = None model_config = ConfigDict(from_attributes=True) +