changes
This commit is contained in:
parent
788c188e0b
commit
f48361023a
|
@ -82,7 +82,7 @@ async def func(model_name: str = '中小商业企业信用模型', file: UploadF
|
|||
|
||||
|
||||
@router.post("/new_process_file", summary="新建流程文件", tags=["流程文件管理"])
|
||||
def func(company: str = '远东资信企业执信有限公司', model_name: str = '中小商业企业信用模型',
|
||||
def func(pid: int = 123456, model_name: str = '中小商业企业信用模型',
|
||||
mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
# 根据模型名称查询该模型是否存在
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='模型数据', cd={"模型名称": model_name})
|
||||
|
@ -92,15 +92,15 @@ def func(company: str = '远东资信企业执信有限公司', model_name: str
|
|||
file = mongo_db.get_file(db='中小商会企业信用评级', bucket='模型文件', fid=str(fid))
|
||||
|
||||
# 保存模型文件流到数据库
|
||||
file_id = mongo_db.insert_file(db='中小商会企业信用评级', bucket='流程文件', file=file, filename=company)
|
||||
mongo_db.insert_data(db='中小商会企业信用评级', col='流程数据', data={"企业名称": company, "模型ID": file_id})
|
||||
file_id = mongo_db.insert_file(db='中小商会企业信用评级', bucket='流程文件', file=file, filename=pid)
|
||||
mongo_db.insert_data(db='中小商会企业信用评级', col='流程数据', data={"流程ID": pid, "模型ID": file_id})
|
||||
return {"message": "流程文件新建成功", "file_id": str(file_id)}
|
||||
|
||||
|
||||
@router.post("/delete_process_file", summary="删除流程文件", tags=["流程文件管理"])
|
||||
def func(company: str = '远东资信企业执信有限公司', mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
def func(pid: int = 123456, mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
# 根据processid查询对应fid
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="模型不存在")
|
||||
fid = result.get('模型ID')
|
||||
|
@ -108,7 +108,7 @@ def func(company: str = '远东资信企业执信有限公司', mongo_db: MongoH
|
|||
# 删除Gridfs数据
|
||||
mongo_db.delete_file(db='中小商会企业信用评级', bucket='流程文件', fid=str(fid))
|
||||
# 删除数据表对应条目
|
||||
mongo_db.delete_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
mongo_db.delete_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
return {"message": "删除成功"}
|
||||
|
||||
|
||||
|
@ -141,21 +141,20 @@ async def func(model_name: str = '中小商业企业信用模型', mongo_db: Mon
|
|||
|
||||
|
||||
@router.post("/upload_questionnaire", summary="模型问卷上传", tags=["问卷管理"])
|
||||
async def func(background_tasks: BackgroundTasks, company: str = '远东资信企业执信有限公司',
|
||||
file: UploadFile = File(...),
|
||||
async def func(background_tasks: BackgroundTasks, pid: int = 123456, file: UploadFile = File(...),
|
||||
mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
# 将上传的问卷文件保存到本地
|
||||
temp_file = os.path.join(os.getcwd(), 'Utils', 'File', 'generate', '{}填报问卷.xlsx'.format(company))
|
||||
temp_file = os.path.join(os.getcwd(), 'Utils', 'File', 'generate', '{}填报问卷.xlsx'.format(pid))
|
||||
with open(temp_file, "wb") as buffer:
|
||||
buffer.write(await file.read())
|
||||
|
||||
# 数据库excel
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="流程不存在")
|
||||
fid = result.get('模型ID')
|
||||
file = mongo_db.get_file(db='中小商会企业信用评级', bucket='流程文件', fid=str(fid))
|
||||
file_name = "{}.xlsx".format(company)
|
||||
file_name = "{}.xlsx".format(pid)
|
||||
path = os.path.join(os.getcwd(), 'Utils', 'File', 'generate', file_name)
|
||||
myfile = open(path, mode='wb')
|
||||
myfile.write(file)
|
||||
|
@ -180,8 +179,8 @@ async def func(background_tasks: BackgroundTasks, company: str = '远东资信
|
|||
|
||||
# 存储新文件返回fid再根据name进行更新
|
||||
with open(path, 'rb') as f:
|
||||
file_id = mongo_db.insert_file(db='中小商会企业信用评级', bucket='流程文件', file=f.read(), filename=company)
|
||||
mongo_db.update_data(db='中小商会企业信用评级', col="流程数据", cd={"企业名称": company}, ud={"模型ID": file_id})
|
||||
file_id = mongo_db.insert_file(db='中小商会企业信用评级', bucket='流程文件', file=f.read(), filename=pid)
|
||||
mongo_db.update_data(db='中小商会企业信用评级', col="流程数据", cd={"流程ID": pid}, ud={"模型ID": file_id})
|
||||
|
||||
background_tasks.add_task(del_files, [path, temp_file])
|
||||
|
||||
|
@ -250,14 +249,14 @@ async def func(background_tasks: BackgroundTasks, model_name: str = '中小商
|
|||
@router.post("/upload_reference_data", summary="提交背调数据", tags=["问卷管理"])
|
||||
async def func(background_tasks: BackgroundTasks, schemas: ModelSchemas.ReferencDataBody,
|
||||
mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
company = schemas.company
|
||||
pid = schemas.pid
|
||||
refrerence_data = schemas.referenc_data
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="流程不存在")
|
||||
fid = result.get('模型ID')
|
||||
file = mongo_db.get_file(db='中小商会企业信用评级', bucket='流程文件', fid=str(fid))
|
||||
file_name = "{}.xlsx".format(company)
|
||||
file_name = "{}.xlsx".format(pid)
|
||||
path = os.path.join(os.getcwd(), 'Utils', 'File', 'generate', file_name)
|
||||
myfile = open(path, mode='wb')
|
||||
myfile.write(file)
|
||||
|
@ -289,8 +288,8 @@ async def func(background_tasks: BackgroundTasks, schemas: ModelSchemas.Referenc
|
|||
|
||||
# 存储新文件返回fid再根据name进行更新
|
||||
with open(path, 'rb') as f:
|
||||
file_id = mongo_db.insert_file(db='中小商会企业信用评级', bucket='流程文件', file=f.read(), filename=company)
|
||||
mongo_db.update_data(db='中小商会企业信用评级', col="流程数据", cd={"企业名称": company}, ud={"模型ID": file_id})
|
||||
file_id = mongo_db.insert_file(db='中小商会企业信用评级', bucket='流程文件', file=f.read(), filename=pid)
|
||||
mongo_db.update_data(db='中小商会企业信用评级', col="流程数据", cd={"流程ID": pid}, ud={"模型ID": file_id})
|
||||
|
||||
background_tasks.add_task(del_file, path)
|
||||
|
||||
|
@ -298,8 +297,8 @@ async def func(background_tasks: BackgroundTasks, schemas: ModelSchemas.Referenc
|
|||
|
||||
|
||||
@router.post("/questionnaire_data", summary="查看问卷数据", tags=["问卷管理"])
|
||||
async def func(company: str = '远东资信企业执信有限公司', mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
async def func(pid: int = 123456, mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="流程不存在")
|
||||
fid = result.get('模型ID')
|
||||
|
@ -364,8 +363,8 @@ async def func(company: str = '远东资信企业执信有限公司', mongo_db:
|
|||
|
||||
|
||||
@router.post("/reference_data", summary="查看背调数据", tags=["问卷管理"])
|
||||
async def func(company: str = '远东资信企业执信有限公司', mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
async def func(pid: int = 123456, mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="流程不存在")
|
||||
fid = result.get('模型ID')
|
||||
|
@ -384,9 +383,9 @@ async def func(company: str = '远东资信企业执信有限公司', mongo_db:
|
|||
|
||||
|
||||
@router.post("/score_result", summary="评级结果", tags=["评级结果"])
|
||||
async def func(background_tasks: BackgroundTasks, company: str = '远东资信企业执信有限公司',
|
||||
async def func(background_tasks: BackgroundTasks, pid: int = 123456,
|
||||
mongo_db: MongoHelper = Depends(get_mongodb)):
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"企业名称": company})
|
||||
result = mongo_db.search_data(db='中小商会企业信用评级', col='流程数据', cd={"流程ID": pid})
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="流程不存在")
|
||||
fid = result.get('模型ID')
|
||||
|
@ -423,7 +422,7 @@ async def func(background_tasks: BackgroundTasks, company: str = '远东资信
|
|||
|
||||
rating_result = {
|
||||
"级别": sheet_01.cell(43, 6).value,
|
||||
"总分": sheet_01.cell(43, 9).value
|
||||
"总分": round(sheet_01.cell(43, 9).value, 2)
|
||||
}
|
||||
|
||||
background_tasks.add_task(del_file, file_path)
|
||||
|
|
|
@ -3,5 +3,5 @@ from pydantic import BaseModel
|
|||
|
||||
|
||||
class ReferencDataBody(BaseModel):
|
||||
company: str = "远东资信企业执信有限公司"
|
||||
pid: int = 123456
|
||||
referenc_data: list = []
|
||||
|
|
5
main.py
5
main.py
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import uvicorn
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
|
@ -20,3 +20,6 @@ app.add_middleware(
|
|||
|
||||
app.include_router(ModelRouter.router)
|
||||
app.include_router(ReportRouter.router)
|
||||
|
||||
if __name__ == '__main__':
|
||||
uvicorn.run(app, host="0.0.0.0", port=8010)
|
Loading…
Reference in New Issue