更新debug

This commit is contained in:
2026-09-21 15:07:50 +08:00
parent c45cae80c7
commit 3976d8c20e
7 changed files with 46 additions and 31 deletions
+1
View File
@@ -6,6 +6,7 @@ readme = "README.md"
requires-python = ">=3.13" requires-python = ">=3.13"
dependencies = [ dependencies = [
"fastapi[standard]>=0.141.1", "fastapi[standard]>=0.141.1",
"like>=1.7.1",
"pip>=26.2.1", "pip>=26.2.1",
"pymysql>=1.2.3", "pymysql>=1.2.3",
"sqlalchemy>=2.0.54", "sqlalchemy>=2.0.54",
+7 -7
View File
@@ -9,15 +9,15 @@ CURD=APIRouter()
@CURD.get('/emp',tags=['查询就业信息']) @CURD.get('/emp',tags=['查询就业信息'])
def get_stuinfo( def get_stuinfo(
# stuid:int|None=None, stuname:str| None = None
comname:str|None=None ,compname:str|None=None
,min_salary:int=0 ,min_salary:int=0
,max_salary:int|None=None ,max_salary:int|None=None
,db=Depends(get_db) ,db=Depends(get_db)
): ):
r=get_orders_dao( r=get_emp_dao(
# stuid, stuname,
comname, compname,
db, db,
min_salary, min_salary,
max_salary) max_salary)
@@ -41,7 +41,7 @@ def add_company(c:CompRequest,db=Depends(get_db)):
r = add_company_dao(o=d, db=db) r = add_company_dao(o=d, db=db)
if not r: if not r:
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!') raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!')
return EmpResponse(totals=1, data=d) return CompResponse(totals=1, data=d)
@CURD.post('/emp/company/address',response_model=AddResponse,tags=['新增公司所在区域']) @CURD.post('/emp/company/address',response_model=AddResponse,tags=['新增公司所在区域'])
@@ -52,7 +52,7 @@ def add_address(
r = add_address_dao(o=d, db=db) r = add_address_dao(o=d, db=db)
if not r: if not r:
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!') raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!')
return EmpResponse(totals=1, data=d) return AddResponse(totals=1, data=d)
@CURD.put('/emp',tags=['更改就业信息']) @CURD.put('/emp',tags=['更改就业信息'])
+18 -10
View File
@@ -1,3 +1,5 @@
import like
from model import Employments,Address,Company from model import Employments,Address,Company
@@ -45,7 +47,8 @@ def add_address_dao(o,db):
def update_orders_dao(id,update_data,db): def update_orders_dao(id,update_data,db):
try: # 数据更新是有返回值的,返回的是影响的行数 try: # 数据更新是有返回值的,返回的是影响的行数
rows = db.query( Employments ).filter( Employments.id == id ).update( update_data ) rows = db.query( Employments ).filter( Employments.id == id ).update( update_data )
except: except Exception as e:
print(f'更新失败,{e}')
db.rollback() db.rollback()
return False return False
else: else:
@@ -54,21 +57,25 @@ def update_orders_dao(id,update_data,db):
def get_emp_dao( def get_emp_dao(
# stuid, # stuid,
name stuname
,compname
,db ,db
, min_salary: int = 0 , min_salary: int = 0
, max_salary: int | None = None , max_salary: int | None = None
# ,page # ,page
# ,page_size # ,page_size
): ):
q = db.query(Employments)\ q = db.query(Employments,Company.compname,Address.somewhere)\
.join(Company,Employments.company_id==Company.id)\ .join(Company,Employments.company_id==Company.id)\
.join(Address,Company.address_id==Address.id) .join(Address,Company.address_id==Address.id)\
.filter(Employments.is_deleted == 0)
# if stuid: # if stuid:
# q = q.filter( Employments.id == stuid ) # q = q.filter( Employments.id == stuid )
if name: if stuname:
q = q.filter( Employments.stuname == name ) q = q.filter( Employments.stuname == stuname )
if compname:
q=q.filter(Company.compname.like(f'%{compname}%'))
# r = q.offset( (page-1)*page_size ).limit( page_size ).all() # r = q.offset( (page-1)*page_size ).limit( page_size ).all()
if min_salary is not None: if min_salary is not None:
q = q.filter(Employments.salary >= min_salary) q = q.filter(Employments.salary >= min_salary)
@@ -79,15 +86,16 @@ def get_emp_dao(
return [ {"id": i.id, return [ {"id": i.id,
'stuname':i.stuname, 'stuname':i.stuname,
'stuclass':i.stuclass, 'stuclass':i.stuclass,
"company_name": i.compname, "company_name": compname,
"company_id": i.company_id, "address":somewhere,
# "company_id": i.company_id,
"salary":i.salary, "salary":i.salary,
"address_id": i.address_id, # "address_id": i.address_id,
"employment_open_date":i.employment_open_date, "employment_open_date":i.employment_open_date,
"offer_date":i.offer_date, "offer_date":i.offer_date,
"created_date": i.created_date, "created_date": i.created_date,
"updated_date": i.updated_date, "updated_date": i.updated_date,
"is_deleted":i.is_deleted } for i in r ] "is_deleted":i.is_deleted } for i,compname,somewhere in r ]
def delete_orders_dao(id,db): def delete_orders_dao(id,db):
+1 -1
View File
@@ -1,7 +1,7 @@
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?charset=utf8mb4" db_url = "mysql+pymysql://root:123456@127.0.0.1:3306/ai0824_001?charset=utf8mb4"
engine = create_engine(db_url engine = create_engine(db_url
, pool_size=50 , pool_size=50
, echo=True , echo=True
+9 -11
View File
@@ -41,18 +41,18 @@ class Employments(Base):
stuname = Column(String(50)) stuname = Column(String(50))
stuclass = Column(String(50)) stuclass = Column(String(50))
compname=Column(String(50) # compname=Column(String(50)
,nullable=False # ,nullable=False
) # )
company_id = Column(Integer company_id = Column(Integer
, ForeignKey('Company.id') , ForeignKey('Company.id')
, nullable=False , nullable=False
) )
address_id = Column(Integer # address_id = Column(Integer
, ForeignKey('Address.id') # , ForeignKey('Address.id')
, nullable=False # , nullable=False
) # )
salary = Column(Integer) salary = Column(Integer)
employment_open_date = Column(DATETIME) employment_open_date = Column(DATETIME)
@@ -71,9 +71,8 @@ class Employments(Base):
class Company(Base): class Company(Base):
__tablename__ = 'Company' __tablename__ = 'Company'
id = Column(Integer id = Column(Integer
, primary_key=True , primary_key=True
,autoincrement=True
) )
compname = Column(String(50), nullable=False) compname = Column(String(50), nullable=False)
address_id = Column(Integer address_id = Column(Integer
@@ -92,9 +91,8 @@ class Company(Base):
class Address(Base): class Address(Base):
__tablename__ = 'Address' __tablename__ = 'Address'
id = Column(Integer id = Column(Integer
, primary_key=True , primary_key=True
,autoincrement=True
) )
somewhere=Column(String(50) somewhere=Column(String(50)
, nullable=False , nullable=False
+2 -2
View File
@@ -4,11 +4,11 @@ from pydantic import BaseModel, Field
class PostRequest(BaseModel): class PostRequest(BaseModel):
compname: str|None=None # compname: str|None=None
stuname: str|None=None stuname: str|None=None
stuclass: str|None=None stuclass: str|None=None
company_id:int|None=None company_id:int|None=None
address_id: int|None=None # address_id: int|None=None
salary: int|None=None salary: int|None=None
employment_open_date:date|None=None employment_open_date:date|None=None
offer_date:date|None=None offer_date:date|None=None
Generated
+8
View File
@@ -396,6 +396,12 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
] ]
[[package]]
name = "like"
version = "1.7.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/0d/d1/5284ae5ae97876808622090d858098e11787469c601b679274e17bcb7b34/like-1.7.1.zip", hash = "sha256:2614e24923fb934955b6abeeda6d13db567d7901da44bc01480e14838618ded2", size = 925, upload-time = "2016-12-19T04:01:13.729Z" }
[[package]] [[package]]
name = "markdown-it-py" name = "markdown-it-py"
version = "4.2.0" version = "4.2.0"
@@ -842,6 +848,7 @@ version = "0.1.0"
source = { virtual = "." } source = { virtual = "." }
dependencies = [ dependencies = [
{ name = "fastapi", extra = ["standard"] }, { name = "fastapi", extra = ["standard"] },
{ name = "like" },
{ name = "pip" }, { name = "pip" },
{ name = "pymysql" }, { name = "pymysql" },
{ name = "sqlalchemy" }, { name = "sqlalchemy" },
@@ -851,6 +858,7 @@ dependencies = [
[package.metadata] [package.metadata]
requires-dist = [ requires-dist = [
{ name = "fastapi", extras = ["standard"], specifier = ">=0.141.1" }, { name = "fastapi", extras = ["standard"], specifier = ">=0.141.1" },
{ name = "like", specifier = ">=1.7.1" },
{ name = "pip", specifier = ">=26.2.1" }, { name = "pip", specifier = ">=26.2.1" },
{ name = "pymysql", specifier = ">=1.2.3" }, { name = "pymysql", specifier = ">=1.2.3" },
{ name = "sqlalchemy", specifier = ">=2.0.54" }, { name = "sqlalchemy", specifier = ">=2.0.54" },