diff --git a/api/teaApi.py b/api/teaApi.py new file mode 100644 index 0000000..31df767 --- /dev/null +++ b/api/teaApi.py @@ -0,0 +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)