tfse-etl-api-v0.2/CompanyData/CompanyDataRoutes.py

108 lines
3.2 KiB
Python
Raw Normal View History

from flask import Blueprint, request
2021-12-08 14:40:36 +08:00
2022-04-21 16:26:32 +08:00
from CompanyData.CompanyDataImpl import CompanyDataImpl, CreditAnalysisImpl, FinancialAnalysisImpl, \
BusinessAnalysisImpl, EsgAnalysisImpl
2022-04-11 09:45:02 +08:00
from Utils.ErrorUtil import ReturnConditionCheckFailed
2022-05-05 03:26:53 +08:00
from Utils.CommonUtil import verify_token
from CompanyData.job_scripts import update_process_scripts
2021-12-08 14:40:36 +08:00
company_route = Blueprint('company', __name__)
2021-12-09 03:07:34 +08:00
@company_route.route('/init_company_data', methods=['POST'])
2021-12-08 14:40:36 +08:00
@verify_token
def basic_info():
"""
2021-12-09 03:07:34 +08:00
初始化企业数据
2021-12-08 14:40:36 +08:00
"""
2022-04-29 17:04:50 +08:00
try:
req = request.json
company_data = CompanyDataImpl()
company_data.cid = req['cid']
company_data.name = req['company_name']
2022-05-05 03:31:20 +08:00
company_data.drag_data_from_tyc_api()
2022-04-29 17:04:50 +08:00
company_data.prepare_company_init_data()
return {"info": "企业数据初始化成功"}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数错误"}, 400
2021-12-16 14:47:05 +08:00
@company_route.route('/company_index_etl', methods=['POST'])
2021-12-16 14:47:05 +08:00
@verify_token
def general_rating():
"""
1.准备综合评价信息数据
2.准备财务要素信息
3.准备风险要素信息
2022-01-12 16:54:33 +08:00
4.准备指标明细数据 模型计算过程中已完成
2021-12-16 14:47:05 +08:00
Parameters:
rid str 评价ID
cid str 企业ID
2021-12-16 14:47:05 +08:00
Returns:
-
"""
try:
2022-04-21 16:26:32 +08:00
rid = request.json['rid']
2022-04-21 15:29:42 +08:00
credit_analysis = CreditAnalysisImpl()
2022-04-21 16:26:32 +08:00
credit_analysis.rid = rid
2022-04-21 15:29:42 +08:00
credit_analysis.cc_rating_etl()
financial_analysis = FinancialAnalysisImpl()
2022-04-21 16:26:32 +08:00
financial_analysis.rid = rid
financial_analysis.financial_analysis_etl()
2022-04-21 15:29:42 +08:00
business_analysis = BusinessAnalysisImpl()
2022-04-21 16:26:32 +08:00
business_analysis.rid = rid
2022-04-21 15:29:42 +08:00
business_analysis.risk_analysis_etl()
company_data = CompanyDataImpl()
2022-04-21 16:26:32 +08:00
company_data.update_credit_data(rid)
return {"info": "数据准备完成"}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数错误"}, 400
2022-02-24 16:09:07 +08:00
@company_route.route('/esg_index_etl', methods=['POST'])
@verify_token
def esg_rating():
"""
1.ESG打分结果数据
Parameters:
rid str 评价ID
cid str 企业ID
Returns:
-
"""
2022-04-21 16:26:32 +08:00
rid = request.json['rid']
esg_analysis = EsgAnalysisImpl()
esg_analysis.rid = rid
esg_analysis.egs_analysis_etl()
2022-04-21 15:29:42 +08:00
company_data = CompanyDataImpl()
2022-04-21 16:26:32 +08:00
company_data.update_esg_data(rid)
2022-02-24 16:09:07 +08:00
return {"info": "数据准备完成"}, 200
2022-03-10 10:55:38 +08:00
@company_route.route('/update_process_data', methods=['POST'])
@verify_token
def update_process():
"""
更新流程数据
Parameters:
rid str 评价ID
data dict 需要更新的数据
Returns:
-
"""
rid = request.json['rid']
renew_data = request.json['renew_data']
2022-03-10 14:56:06 +08:00
types = request.json['types']
2022-03-22 15:16:48 +08:00
db = "综信评价数据" if types == "综合评价流程" else "ESG评价数据"
info = update_process_scripts(db, rid, renew_data)
2022-03-10 10:55:38 +08:00
status = 200 if info else 210
result = '更新成功' if info else '更新失败'
return {"info": result}, status