更新 api/th_api.py

This commit is contained in:
2026-09-22 15:29:47 +08:00
parent a67b66702c
commit d2eb86730c
+67 -67
View File
@@ -1,67 +1,67 @@
from fastapi import APIRouter,Depends,UploadFile,File,Query
from model.teaModel import Session
from dao.teaDao import insert_teachers_dao,update_teachers_dao,delete_teachers_dao,get_teachers_limit_dao,get_teachers_name_dao
from schema.teaSchema import RequestModel, ResponseModel
t_router = APIRouter()
def get_db():
db = Session()
try:
yield db
finally:
db.close()
@t_router.get("/teachers",tags=['教师接口信息'],summary='分页查询教师接口')
def get_teachers(p:int=Query(default=0,ge=0,description='页码,0表示查询全部'),
n:int=Query(default=0,ge=0,description='每页条数,0表示查询全部'),
db=Depends(get_db)):
db_teachers = get_teachers_limit_dao(p,n,db)
return ResponseModel(data=db_teachers,total=len(db_teachers))
@t_router.get("/teachers/{name}",tags=['教师接口信息'],summary='分页查询教师接口')
def get_name_teachers(name:str,db=Depends(get_db)):
db_teachers = get_teachers_name_dao(name,db)
return ResponseModel(data=db_teachers,total=len(db_teachers))
@t_router.post("/teachers",tags=['教师接口信息'],summary='新增教师接口')
def insert_teachers(req:RequestModel,db=Depends(get_db)):
rq= req.model_dump()
n,m = insert_teachers_dao(rq,db)
# print('打印获取的值:',n,m)
return ResponseModel(total=n,msg=m)
@t_router.put("/teachers/{t_id}",tags=['教师接口信息'],summary='更新教师接口')
def update_teachers(req:RequestModel,t_id:int,db=Depends(get_db),):
rq= req.model_dump()
n,m = update_teachers_dao(rq,db,t_id)
return ResponseModel(total=n,msg=m)
@t_router.delete("/teachers/{t_id}",tags=['教师接口信息'],summary='删除教师接口')
def delete_teachers(t_id:int,db=Depends(get_db)):
n,m =delete_teachers_dao(t_id,db)
return ResponseModel(msg=m,total=n)
@t_router.post('/files',tags=['文件接口信息'],summary='上传文件接口')
async def upload_files(f:UploadFile=File(),db=Depends(get_db)):
# print('UploadFile上传文件,读取该对象:',f)
text =await f.read()
l =text.decode('utf-8').split('\n')
lg = 0
dt = []
print('长度为',lg,l)
for i in l:
if '名字' in i:
continue
p = i.split()
if not p: # 判断如果p为[],跳过
continue
l2 = ['t_name','t_age','t_phone','t_sex','class_id']
d =dict()
for j in range(len(p)):
d[l2[j]]=p[j]
insert_teachers_dao(d,db)
lg = lg + 1
dt.append(d)
return ResponseModel(msg='上传成功',total=lg,data=dt)
from fastapi import APIRouter,Depends,UploadFile,File,Query
from model.teaModel import Session
from dao.teaDao import insert_teachers_dao,update_teachers_dao,delete_teachers_dao,get_teachers_limit_dao,get_teachers_name_dao
from schema.teaSchema import RequestModel, ResponseModel
t_router = APIRouter()
def get_db():
db = Session()
try:
yield db
finally:
db.close()
@t_router.get("/teachers",tags=['教师接口信息'],summary='分页查询教师接口')
def get_teachers(p:int=Query(default=0,ge=0,description='页码,0表示查询全部'),
n:int=Query(default=0,ge=0,description='每页条数,0表示查询全部'),
db=Depends(get_db)):
db_teachers = get_teachers_limit_dao(p,n,db)
return ResponseModel(data=db_teachers,total=len(db_teachers))
@t_router.get("/teachers/{name}",tags=['教师接口信息'],summary='分页查询教师接口')
def get_name_teachers(name:str,db=Depends(get_db)):
db_teachers = get_teachers_name_dao(name,db)
return ResponseModel(data=db_teachers,total=len(db_teachers))
@t_router.post("/teachers",tags=['教师接口信息'],summary='新增教师接口')
def insert_teachers(req:RequestModel,db=Depends(get_db)):
rq= req.model_dump()
n,m = insert_teachers_dao(rq,db)
# print('打印获取的值:',n,m)
return ResponseModel(total=n,msg=m)
@t_router.put("/teachers/{t_id}",tags=['教师接口信息'],summary='更新教师接口')
def update_teachers(req:RequestModel,t_id:int,db=Depends(get_db),):
rq= req.model_dump()
n,m = update_teachers_dao(rq,db,t_id)
return ResponseModel(total=n,msg=m)
@t_router.delete("/teachers/{t_id}",tags=['教师接口信息'],summary='删除教师接口')
def delete_teachers(t_id:int,db=Depends(get_db)):
n,m =delete_teachers_dao(t_id,db)
return ResponseModel(msg=m,total=n)
@t_router.post('/files',tags=['文件接口信息'],summary='上传文件接口')
async def upload_files(f:UploadFile=File(),db=Depends(get_db)):
# print('UploadFile上传文件,读取该对象:',f)
text =await f.read()
l =text.decode('utf-8').split('\n')
lg = 0
dt = []
print('长度为',lg,l)
for i in l:
if '名字' in i:
continue
p = i.split()
if not p: # 判断如果p为[],跳过
continue
l2 = ['t_name','t_age','t_phone','t_sex','class_id']
d =dict()
for j in range(len(p)):
d[l2[j]]=p[j]
insert_teachers_dao(d,db)
lg = lg + 1
dt.append(d)
return ResponseModel(msg='上传成功',total=lg,data=dt)