更改老师
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
from fastapi import APIRouter,Depends,HTTPException
|
||||
from Teachers.schema import *
|
||||
from Teachers.database import *
|
||||
from Teachers.model.tea_model import *
|
||||
from Teachers.dao.tea_dao import *
|
||||
from Teachers.schema.tea_request import TeaRequest
|
||||
from Teachers.schema.tea_response import TeaResponse
|
||||
|
||||
tea_api = APIRouter(tags=['老师相关接口'])
|
||||
|
||||
@tea_api.post('/tea',response_model=TeaResponse)
|
||||
def add_tea(tea: TeaRequest,db=Depends(get_db)):
|
||||
r = add_tea_dao(tea.model_dump(),db)
|
||||
if not r:
|
||||
raise HTTPException(status_code=500,detail='添加失败!')
|
||||
return TeaResponse(totals=1,date=tea.model_dump())
|
||||
@tea_api.get('/tea',response_model=TeaResponse)
|
||||
def get_tea(t:TeaRequest,db=Depends(get_db)): #开启会话窗口
|
||||
r = get_tea_dao(t,db=db)
|
||||
if not r:
|
||||
raise HTTPException(status_code=404,detail='老师不存在')
|
||||
return TeaResponse(totals=len(r),date=r)
|
||||
@tea_api.delete('tea/{id}')
|
||||
def delete_tea(id:int|None,db=Depends(get_db)):
|
||||
r = delete_tea_dao(id,db)
|
||||
if not r:
|
||||
raise HTTPException(status_code=500,detail='删除失败!')
|
||||
return {'detail':'删除成功!'}
|
||||
|
||||
@tea_api.put('tea/{id}')
|
||||
def update_tea(id:int,tea:TeaRequest,db=Depends(get_db)):
|
||||
t = tea.model_dump(exclude_unset= True)
|
||||
r = update_tea_dao(id=id,update_data=t,db=db)
|
||||
if not r:
|
||||
raise HTTPException(status_code=404,detail='老师不存在')
|
||||
return {'detail':'修改成功'}
|
||||
@@ -0,0 +1,53 @@
|
||||
from Teachers.model.tea_model import Tea
|
||||
|
||||
#增加
|
||||
def add_tea_dao(t,db):
|
||||
try:
|
||||
t1 = Tea(**t)
|
||||
db.add(t1)
|
||||
except:
|
||||
db.rollback()
|
||||
return False
|
||||
else:
|
||||
db.commit()
|
||||
return True
|
||||
|
||||
#更新
|
||||
def update_tea_dao(id,update_data,db):
|
||||
try:
|
||||
rows = db.query(Tea).filter(Tea.tea_id == id,Tea.is_delete == False)(update_data)
|
||||
except:
|
||||
db.rollback()
|
||||
return False
|
||||
else:
|
||||
db.commit()
|
||||
return rows
|
||||
|
||||
#查询
|
||||
def get_tea_dao(t,db):
|
||||
query = db.query(Tea).filter(Tea.is_delete == False)
|
||||
if t.tea_id:
|
||||
query = query.filter(Tea.tea_id == t.tea_id)
|
||||
if t.tea_name:
|
||||
query = query.filter(Tea.tea_name == t.tea_name)
|
||||
if t.tea_sex:
|
||||
query = query.filter(Tea.tea_sex == t.tea_sex)
|
||||
if t.claa_id:
|
||||
query = query.filter(Tea.class_id == t.claa_id)
|
||||
if t.class_sub:
|
||||
query = query.filter(Tea.class_sub == t.class_sub)
|
||||
r = query.all()
|
||||
return [{'tea_id':i.tea_id,'tea_name':i.tea_name,'class_id':i.class_id,'class_sub':i.class_sub,'tea.sex':i.tea_sex} for i in r]
|
||||
|
||||
#删除
|
||||
def delete_tea_dao(id,db):
|
||||
try:
|
||||
row = db.query(Tea).filter(Tea.tea_id == id).delete()
|
||||
except:
|
||||
db.rollback()
|
||||
row = 0
|
||||
else:
|
||||
db.commit()
|
||||
return row
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
from sqlalchemy import *
|
||||
from sqlalchemy.orm import sessionmaker,declarative_base
|
||||
|
||||
db_tea = 'mysql+pymysql://root:123456@127.0.0.1:3306/ai0824?charset=utf8mb4'
|
||||
engine1 = create_engine(db_tea)
|
||||
|
||||
Base = declarative_base()
|
||||
Session = sessionmaker(bind=engine1
|
||||
,autoflush = False
|
||||
,autocommit = False)
|
||||
def get_db():
|
||||
db = Session()
|
||||
try:
|
||||
yield db
|
||||
finally:
|
||||
db.close()
|
||||
Base.metadata.create_all(engine1)
|
||||
@@ -0,0 +1,16 @@
|
||||
from fastapi import FastAPI
|
||||
from Teachers.model.tea_model import *
|
||||
from api.tea_api import tea_api
|
||||
app = FastAPI()
|
||||
app.include_router(tea_api)
|
||||
|
||||
Base.metadata.create_all(engine1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import uvicorn
|
||||
uvicorn.run('main:app', host='0.0.0.0', port=55000)
|
||||
"""
|
||||
IPv4 地址 . . . . . . . . . . . . : 192.168.1.51
|
||||
子网掩码 . . . . . . . . . . . . : 255.255.255.0
|
||||
默认网关. . . . . . . . . . . . . : 192.168.1.1
|
||||
"""
|
||||
@@ -0,0 +1,39 @@
|
||||
from Teachers.database import *
|
||||
from datetime import datetime
|
||||
from sqlalchemy import *
|
||||
import enum
|
||||
|
||||
class Gender(str,enum.Enum):
|
||||
m = '男'
|
||||
f = '女'
|
||||
|
||||
class Tea(Base):
|
||||
__tablename__ = 'order_info_tea'
|
||||
tea_id = Column(Integer
|
||||
, primary_key=True
|
||||
,nullable=False
|
||||
,autoincrement=True
|
||||
,comment='老师id')
|
||||
tea_name = Column(String(50)
|
||||
,nullable=False
|
||||
,comment='老师姓名')
|
||||
tea_sex = Column(Enum (Gender),default='未知'
|
||||
,comment='老师性别')
|
||||
class_id = Column(Integer
|
||||
,nullable=False
|
||||
,comment='班级id')
|
||||
class_sub = Column(String(50)
|
||||
,nullable=False
|
||||
,comment='教学科目')
|
||||
create_date = Column(DateTime
|
||||
,default=datetime.now
|
||||
,comment='创建时间')
|
||||
update_date = Column(DateTime
|
||||
,onupdate=datetime.now
|
||||
,comment='更新时间')
|
||||
delete_data = Column(DateTime
|
||||
,onupdate=datetime.now
|
||||
,comment='删除时间')
|
||||
is_delete = Column(Integer,default=False,comment='是否删除')
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
from pydantic import BaseModel
|
||||
from Teachers.model.tea_model import *
|
||||
class TeaRequest(BaseModel):
|
||||
class_id: int|None = None
|
||||
tea_id: int|None = None
|
||||
tea_name: str|None = None
|
||||
tea_sex: Gender|None = None
|
||||
class_sub: str|None = None
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
from pydantic import BaseModel
|
||||
class TeaResponse(BaseModel):
|
||||
code: int = 200
|
||||
detail: str = 'OK'
|
||||
totals:int = 0
|
||||
date: str |dict|tuple|list
|
||||
|
||||
Reference in New Issue
Block a user