报告数据清洗

This commit is contained in:
wcq 2023-08-17 17:36:16 +08:00
parent 3de6ad6b81
commit 52dbbd01ea
2 changed files with 20 additions and 2 deletions

View File

@ -58,5 +58,5 @@ token = 32737167-cb63-4ce9-9397-d66169488f51
token = 92229502BD4C4B3E934607D4C1C5E711
[rate_utils]
;host = http://139.9.249.34:8010
host = http://139.9.155.218:8010
host = http://139.9.249.34:8010
;host = http://139.9.155.218:8010

View File

@ -1,8 +1,12 @@
import json
from pathlib import Path
from urllib.parse import quote
import requests
from fastapi import APIRouter, Depends, HTTPException, Response
from sqlalchemy.orm import Session
from starlette.responses import FileResponse
from context.common import common_db, CompanyUserTokenDataModel, company_user_auth_util, auth_util, conf
from . import schemas
from . import crud
@ -10,6 +14,7 @@ from utils.sqlalchemy_common_utils import QueryParams, query_common
from .models import CompanyRate
from .rate_utils.utils import load_report_need_data
from ..company_user.models import CompanyUser
from ..form_file.model import FormFile
router = APIRouter(tags=["公司评级数据"])
@ -146,4 +151,17 @@ def get_report(req: schemas.GetReport, db: Session = Depends(common_db.get_db),
data), timeout=8)
# print(response.json())
return Response(content=response.content, headers=dict(response.headers))
@router.post("/company_rate/get_report", summary="报告下载")
def get_report(req: schemas.GetReport, db: Session = Depends(common_db.get_db)
):
item = crud.company_rate_get(db, req.id)
if not (item and item.report_file_md):
raise HTTPException(status_code=404, detail="无报告文件")
file = db.query(FormFile).filter(FormFile.md == item.file_md).first()
if not file:
raise HTTPException(status_code=404, detail="未找到报告文件,路径不存在")
return FileResponse(Path("./" + file.file_url),
headers={"Content-Disposition": f"attachment; filename={quote(file.file_name)}"})
#########