forked from wolin_ck666_999/StuManagerSys
68 lines
2.6 KiB
Python
68 lines
2.6 KiB
Python
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)
|