tfse-app-api-v0.2/Routes/Company/Index.py

142 lines
4.6 KiB
Python

from flask import Blueprint
from Utils.AuthUtil import verify_token
from Utils.ErrorUtil import ReturnConditionCheckFailed
from Implements.Company.Index import CompanyIndexImpl
company_route = Blueprint('company', __name__)
@company_route.route('/head_info', methods=['GET'])
@verify_token
def head_info_route(**kwargs):
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_head_info()
result = impl.head_info.dict_to_return()
return {"info": "查询结果", "result": result}, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_route.route('/basic_info', methods=['GET'])
@verify_token
def basic_info_route(**kwargs):
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_business_info()
if impl.business_info:
result = impl.business_info.dict_to_show()
return {"info": "查询结果", "result": result}, 200
else:
return {"info": "查询结果", "result": {}}, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_route.route('/industry_analysis', methods=['GET'])
@verify_token
def industry_analysis_route(**kwargs):
"""行业分析"""
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_industry_analysis()
if impl.industry_analysis:
result = impl.industry_analysis.dict_to_show()
return {"info": "查询结果", "result": result}, 200
else:
return {"info": "查询结果", "result": {}}, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
# except KeyError:
# return {"info": "参数异常"}, 400
@company_route.route('/cc_rating', methods=['GET'])
@verify_token
def cc_rating_route(**kwargs):
"""综合信用分析"""
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_cc_rating_analysis()
if impl.cc_rating_analysis:
result = impl.cc_rating_analysis.dict_to_show()
return {"info": "查询结果", "result": result}, 200
else:
return {"info": "查询结果", "result": {}}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_route.route('/esg_rating', methods=['GET'])
@verify_token
def esg_rating_route(**kwargs):
"""ESG评价分析"""
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_esg_rating_analysis()
if impl.esg_rating_analysis:
result = impl.esg_rating_analysis.dict_to_show(columns=['更新日期', "ESG评级", "维度得分情况"])
return {"info": "查询结果", "result": result}, 200
else:
return {"info": "查询结果", "result": {}}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_route.route('/financial_elements', methods=['GET'])
@verify_token
def financial_elements_route(**kwargs):
"""财务要素分析"""
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_financial_analysis()
if impl.financial_analysis:
result = impl.financial_analysis.dict_to_return()
return {"info": "查询结果", "result": result}, 200
else:
return {"info": "查询结果", "result": {}}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_route.route('/operating_risk', methods=['GET'])
@verify_token
def operating_risk_route(**kwargs):
"""经营风险分析"""
try:
impl = CompanyIndexImpl()
impl.cid = kwargs['cid']
impl.get_operating_risk_analysis()
if impl.operating_risk_analysis:
result = impl.operating_risk_analysis.dict_to_return()
return {"info": "查询结果", "result": result}, 200
else:
return {"info": "查询结果", "result": {}}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400