diff --git a/api/teaApi.py b/api/th_api.py similarity index 97% rename from api/teaApi.py rename to api/th_api.py index 31df767..9881df4 100644 --- a/api/teaApi.py +++ b/api/th_api.py @@ -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)