增加科目表的id
This commit is contained in:
@@ -3,19 +3,19 @@ from Teachers.schema import *
|
|||||||
from Teachers.database import *
|
from Teachers.database import *
|
||||||
from Teachers.model.tea_model import *
|
from Teachers.model.tea_model import *
|
||||||
from Teachers.dao.tea_dao import *
|
from Teachers.dao.tea_dao import *
|
||||||
from Teachers.schema.tea_request import TeaRequest,NewTeaRequest
|
from Teachers.schema.tea_request import TeaRequest,NewTeaRequest,NewTeaRequest1
|
||||||
from Teachers.schema.tea_response import TeaResponse
|
from Teachers.schema.tea_response import TeaResponse
|
||||||
|
|
||||||
tea_api = APIRouter()
|
tea_api = APIRouter()
|
||||||
|
|
||||||
@tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空')
|
@tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空')
|
||||||
def add_tea(tea: NewTeaRequest,db=Depends(get_db)):
|
def add_tea(tea: NewTeaRequest=Depends(),db=Depends(get_db)):
|
||||||
r = add_tea_dao(tea.model_dump(),db)
|
r = add_tea_dao(tea.model_dump(),db)
|
||||||
if not r:
|
if not r:
|
||||||
raise HTTPException(status_code=500,detail='添加失败!')
|
raise HTTPException(status_code=500,detail='添加失败!')
|
||||||
return TeaResponse(totals=1,data=tea.model_dump())
|
return TeaResponse(totals=1,data=tea.model_dump())
|
||||||
@tea_api.get('/tea',response_model=TeaResponse,summary='查询老师',description='任意选择输入的信息数量,不输入则查询全部老师')
|
@tea_api.get('/tea',response_model=TeaResponse,summary='查询老师',description='任意选择输入的信息数量,不输入则查询全部老师')
|
||||||
def get_tea(t:TeaRequest=Depends(),db=Depends(get_db)): #开启会话窗口
|
def get_tea(t:NewTeaRequest1=Depends(),db=Depends(get_db)): #开启会话窗口
|
||||||
r = get_tea_dao(t.model_dump(),db=db)
|
r = get_tea_dao(t.model_dump(),db=db)
|
||||||
if not r:
|
if not r:
|
||||||
raise HTTPException(status_code=404,detail='老师不存在')
|
raise HTTPException(status_code=404,detail='老师不存在')
|
||||||
@@ -37,7 +37,7 @@ def update_tea(id:int,tea:NewTeaRequest,db=Depends(get_db)):
|
|||||||
|
|
||||||
#根据任意信息删除
|
#根据任意信息删除
|
||||||
@tea_api.delete('/tea',summary='根据任意信息逻辑删除',description='输入任意信息删除')
|
@tea_api.delete('/tea',summary='根据任意信息逻辑删除',description='输入任意信息删除')
|
||||||
def delete_other_tea_dao1(t:TeaRequest,db=Depends(get_db)):
|
def delete_other_tea_dao1(t:TeaRequest=Depends(),db=Depends(get_db)):
|
||||||
row1 = delete_other_tea_dao(t.model_dump(exclude_unset=True),db)
|
row1 = delete_other_tea_dao(t.model_dump(exclude_unset=True),db)
|
||||||
if not row1:
|
if not row1:
|
||||||
raise HTTPException(status_code=404,detail='没有找到符合条件的老师')
|
raise HTTPException(status_code=404,detail='没有找到符合条件的老师')
|
||||||
|
|||||||
+23
-5
@@ -4,14 +4,27 @@ from datetime import datetime
|
|||||||
#增加
|
#增加
|
||||||
def add_tea_dao(t,db):
|
def add_tea_dao(t,db):
|
||||||
try:
|
try:
|
||||||
|
not_delete = db.query(Tea).filter(Tea.phone ==t.get('phone'),Tea.is_delete == False).first()
|
||||||
|
if not_delete:
|
||||||
|
print('该老师已存在')
|
||||||
|
raise Exception('老师已存在')
|
||||||
|
existing = db.query(Tea).filter(Tea.phone == t.get('phone'),Tea.is_delete == True).first()
|
||||||
|
if existing:
|
||||||
|
for key,value in t.items():
|
||||||
|
if hasattr(existing,key) and value is not None and value != '':
|
||||||
|
setattr(existing,key,value)
|
||||||
|
existing.is_delete = False
|
||||||
|
db.commit()
|
||||||
|
return '恢复修改成功'
|
||||||
t1 = Tea(**t)
|
t1 = Tea(**t)
|
||||||
db.add(t1)
|
db.add(t1)
|
||||||
except:
|
|
||||||
db.rollback()
|
|
||||||
return False
|
|
||||||
else:
|
|
||||||
db.commit()
|
db.commit()
|
||||||
return True
|
return True
|
||||||
|
except Exception as e:
|
||||||
|
db.rollback()
|
||||||
|
print('新增失败原因',e)
|
||||||
|
return '新增失败'
|
||||||
|
|
||||||
|
|
||||||
#更新
|
#更新
|
||||||
def update_tea_dao(id,t, db):
|
def update_tea_dao(id,t, db):
|
||||||
@@ -49,9 +62,12 @@ def get_tea_dao(t,db):
|
|||||||
query = query.filter(Tea.education == t.get('education') )
|
query = query.filter(Tea.education == t.get('education') )
|
||||||
if t.get('collage'):
|
if t.get('collage'):
|
||||||
query = query.filter(Tea.collage == t.get('collage') )
|
query = query.filter(Tea.collage == t.get('collage') )
|
||||||
|
if t.get('phone'):
|
||||||
|
query = query.filter(Tea.phone == t.get('phone') )
|
||||||
r = query.all()
|
r = query.all()
|
||||||
return [{'id':i.id,'name':i.name,'class_id':i.class_id,'sub':i.sub,'sex':i.sex,'home_place':i.home_place
|
return [{'id':i.id,'name':i.name,'class_id':i.class_id,'sub':i.sub,'sex':i.sex,'home_place':i.home_place
|
||||||
,'specialty':i.specialty,'start_time':i.start_time,'work_experience':i.work_experience,'collage':i.collage} for i in r]
|
,'specialty':i.specialty,'start_time':i.start_time,'work_experience':i.work_experience
|
||||||
|
,'collage':i.collage,'phone':i.phone} for i in r]
|
||||||
|
|
||||||
#删除
|
#删除
|
||||||
def delete_tea_dao(id,db):
|
def delete_tea_dao(id,db):
|
||||||
@@ -94,6 +110,8 @@ def delete_other_tea_dao(t,db):
|
|||||||
query1 = query1.filter(Tea.start_time == t.get('start_time'))
|
query1 = query1.filter(Tea.start_time == t.get('start_time'))
|
||||||
if t.get('specialty'):
|
if t.get('specialty'):
|
||||||
query1 = query1.filter(Tea.specialty == t.get('specialty'))
|
query1 = query1.filter(Tea.specialty == t.get('specialty'))
|
||||||
|
if t.get('phone'):
|
||||||
|
query1 = query1.filter(Tea.phone == t.get('phone'))
|
||||||
row = query1.update({'is_delete':True,'delete_time':datetime.now()})
|
row = query1.update({'is_delete':True,'delete_time':datetime.now()})
|
||||||
db.commit()
|
db.commit()
|
||||||
return row
|
return row
|
||||||
|
|||||||
@@ -23,7 +23,9 @@ class Tea(Base):
|
|||||||
class_id = Column(Integer
|
class_id = Column(Integer
|
||||||
,nullable=False
|
,nullable=False
|
||||||
,comment='班级id')
|
,comment='班级id')
|
||||||
sub = Column(String(50)
|
phone = Column(String(50))
|
||||||
|
subject_id = Column(Integer
|
||||||
|
, ForeignKey('subject.id')
|
||||||
,nullable=False
|
,nullable=False
|
||||||
,comment='教学科目')
|
,comment='教学科目')
|
||||||
home_place = Column(String(50)
|
home_place = Column(String(50)
|
||||||
|
|||||||
@@ -1,31 +1,45 @@
|
|||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from Teachers.model.tea_model import *
|
from Teachers.model.tea_model import *
|
||||||
|
|
||||||
#查询使用请求体
|
#查询使用请求体,都可以为空
|
||||||
class TeaRequest(BaseModel):
|
class TeaRequest(BaseModel):
|
||||||
id: int|None = None
|
id: int|None = None
|
||||||
name: str|None = None
|
name: str|None = None
|
||||||
sex: Gender|None = None
|
sex: Gender|None = None
|
||||||
class_id: int | None = None
|
class_id: int | None = None
|
||||||
sub: str|None = None
|
sub: str|None = None
|
||||||
|
phone: str|None = None
|
||||||
home_place: str|None = None
|
home_place: str|None = None
|
||||||
collage: str|None = None
|
collage: str|None = None
|
||||||
education: str|None = None
|
education: str|None = None
|
||||||
work_experience: str|None = None
|
work_experience: str|None = None
|
||||||
start_time: str|None = None
|
start_time: datetime|None = None
|
||||||
specialty: str|None = None
|
specialty: str|None = None
|
||||||
|
|
||||||
|
|
||||||
#更新、任意逻辑删除、新增使用请求体,没有自增键
|
#更新、任意逻辑删除、新增使用请求体,没有自增键,电话号码不能为空
|
||||||
class NewTeaRequest(BaseModel):
|
class NewTeaRequest(BaseModel):
|
||||||
name: str | None = None
|
name: str | None = None
|
||||||
sex: Gender
|
sex: Gender|None = None
|
||||||
class_id: int | None = None
|
class_id: int | None = None
|
||||||
sub: str | None = None
|
sub: str | None = None
|
||||||
home_place: str | None = None
|
home_place: str | None = None
|
||||||
|
phone: str
|
||||||
collage: str | None = None
|
collage: str | None = None
|
||||||
education: str | None = None
|
education: str | None = None
|
||||||
work_experience: str | None = None
|
work_experience: str | None = None
|
||||||
start_time: datetime | None = None
|
start_time: datetime | None = None
|
||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
|
|
||||||
|
class NewTeaRequest1(BaseModel):
|
||||||
|
name: str | None = None
|
||||||
|
sex: Gender|None = None
|
||||||
|
class_id: int | None = None
|
||||||
|
sub: str | None = None
|
||||||
|
home_place: str | None = None
|
||||||
|
phone: str|None = None
|
||||||
|
collage: str | None = None
|
||||||
|
education: str | None = None
|
||||||
|
work_experience: str | None = None
|
||||||
|
start_time: datetime | None = None
|
||||||
|
specialty: str | None = None
|
||||||
|
|||||||
Reference in New Issue
Block a user