From 0adda8e337f6f429dc4a299d8265a5061a9e02e4 Mon Sep 17 00:00:00 2001 From: wolin_ck666_999 Date: Tue, 22 Sep 2026 13:12:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=E3=80=8Capi=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/teaApi.py | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 api/teaApi.py 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)