更新debug
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
@@ -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
@@ -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,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
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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" },
|
||||||
|
|||||||
Reference in New Issue
Block a user