tfse-admin-api-v0.2/Manage/Company/CompanyRoutes.py

190 lines
6.5 KiB
Python
Raw Normal View History

from flask import Blueprint, request
2022-04-02 16:53:26 +08:00
2022-04-20 10:38:36 +08:00
from Manage.Company.Implements.CompanyIndex import CompanyIndexApiImpl
from Manage.Company.Implements.CompanySearch import SearchCompanyApiImpl
2022-04-14 03:12:36 +08:00
from Utils.ErrorUtil import ReturnConditionCheckFailed
2022-02-22 17:14:47 +08:00
from user.user_auth import verify_token
company_route = Blueprint('company', __name__)
@company_route.route('/search', methods=['POST'])
2022-02-22 17:14:47 +08:00
@verify_token
2022-04-15 17:01:59 +08:00
def search_route(**kwargs):
2022-04-14 03:12:36 +08:00
"""企业搜索"""
try:
req = request.json
2022-04-18 11:12:47 +08:00
search_body_impl = SearchCompanyApiImpl()
search_body = SearchCompanyApiImpl().SearchBody()
sort_body = SearchCompanyApiImpl().SortBody()
2022-04-14 03:12:36 +08:00
search = req['search'] if req.__contains__('search') else {}
sort = req['sort'] if req.__contains__('sort') else {}
if search.__contains__('企业ID'):
search_body.cid = search['企业ID']
if search.__contains__('企业名称'):
search_body.name = search['企业名称']
if search.__contains__('一级行业'):
search_body.industry = search['一级行业']
if search.__contains__('综信评价'):
search_body.credit_level = search['综信评价']
if search.__contains__('ESG评价'):
search_body.esg_level = search['ESG评价']
if sort != {}:
sort_body.field = list(sort.keys())[0]
sort_body.sort = list(sort.values())[0]
search_body_impl.search = search_body
search_body_impl.sort = sort_body
search_body_impl.page_size = req['page_size']
search_body_impl.page_no = req['page_no']
result = search_body_impl.conditions_search()
return {"info": '查询结果', "result": result}, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-15 17:01:59 +08:00
@company_route.route('/head_info', methods=["GET"])
@verify_token
def head_info_route(**kwargs):
2022-04-18 11:12:47 +08:00
"""头部信息"""
try:
impl = CompanyIndexApiImpl()
2022-04-18 11:19:15 +08:00
impl.head_info.cid = request.args['cid']
2022-04-18 11:12:47 +08:00
impl.get_head_info()
result = impl.head_info.dict_to_show()
2022-04-18 11:19:15 +08:00
return result, 200
2022-04-18 11:12:47 +08:00
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
2022-04-15 17:01:59 +08:00
2022-04-18 12:23:22 +08:00
@company_route.route('/update_time', methods=['POST'])
@verify_token
def update_time_route(**kwargs):
"""更新时间"""
try:
req = request.json
impl = CompanyIndexApiImpl()
impl.update_time.cid = req['cid']
impl.update_time.table = req['table']
impl.get_update_time()
result = impl.update_time.dict_to_show(columns=['table', 'update_time'])
return result, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-18 17:04:44 +08:00
@company_route.route('/basic_info', methods=['POST'])
@verify_token
def basic_info_route(**kwargs):
2022-04-20 10:38:36 +08:00
"""工商信息"""
2022-04-18 17:04:44 +08:00
try:
req = request.json
impl = CompanyIndexApiImpl()
impl.basic_info.cid = req['cid']
if req.__contains__('update_time'):
impl.basic_info.update_time = req['update_time']
impl.get_basic_info()
result = impl.basic_info.dict_to_show(columns=["工商信息", "股东信息", "主要成员"])
return result, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-19 11:14:37 +08:00
@company_route.route('/financial_data', methods=['POST'])
@verify_token
def financial_data_route(**kwargs):
2022-04-20 17:03:32 +08:00
"""财务数据"""
2022-04-19 11:14:37 +08:00
try:
req = request.json
impl = CompanyIndexApiImpl()
impl.financial_data.cid = req['cid']
impl.financial_data.report_date = req['report_date']
impl.get_financial_data()
result = impl.financial_data.dict_to_show(columns=["报告期", "资产负债表", "利润表", "补充数据表", "财务指标"])
return result, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-19 15:35:43 +08:00
@company_route.route('/operating_risk', methods=['POST'])
@verify_token
def operating_risk_route(**kwargs):
2022-04-20 17:03:32 +08:00
"""经营风险"""
2022-04-19 15:35:43 +08:00
try:
req = request.json
impl = CompanyIndexApiImpl()
impl.operating_risk.cid = req['cid']
if req.__contains__('update_time'):
impl.operating_risk.update_time = req['update_time']
impl.get_operating_risk()
result = impl.operating_risk.dict_to_show(columns=["评价ID", "风险级别", "风险分数", "列入失信名单", "合规风险统计", "经营风险统计", "周边风险统计", "变更记录统计"])
return result, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-19 17:06:59 +08:00
@company_route.route('/financial_analysis', methods=['POST'])
@verify_token
def financial_analysis_route(**kwargs):
"""财务分析"""
2022-04-20 15:33:51 +08:00
try:
req = request.json
impl = CompanyIndexApiImpl()
impl.financial_analysis.cid = req['cid']
if req.__contains__('update_time'):
impl.financial_analysis.update_time = req['update_time']
impl.get_financial_analysis()
result = impl.financial_analysis.dict_to_show(columns=["评价ID", "财报期", "财务得分年度比较", "财务得分同行比较", "财务得分较去年变化", "财务得分较同行差异", "指标详情"])
return result, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-19 17:06:59 +08:00
2022-04-20 17:03:32 +08:00
@company_route.route('/cc_rating', methods=['POST'])
@verify_token
def cc_rating_route(**kwargs):
"""综合信用分析"""
2022-04-21 10:14:38 +08:00
try:
req = request.json
impl = CompanyIndexApiImpl()
impl.cc_rating.cid = req['cid']
if req.__contains__('update_time'):
impl.cc_rating.update_time = req['update_time']
impl.get_cc_rating()
result = impl.cc_rating.dict_to_show(columns=["评价ID", "企业名称", "指标雷达", "信用分析", "指标表格", "历史级别"])
return result, 200
except ReturnConditionCheckFailed as e:
return {"info": e.failed_info}, e.status_code
2022-04-20 17:03:32 +08:00
@company_route.route('/esg_rating', methods=['POST'])
@verify_token
def esg_rating_route(**kwargs):
"""ESG评价分析"""
return {"info": '调整中'}, 200
@company_route.route('/index', methods=['POST'])
2022-02-22 17:14:47 +08:00
@verify_token
2022-04-15 17:01:59 +08:00
def index_route(**kwargs):
2022-04-14 17:04:04 +08:00
"""企业主页"""
2022-04-02 16:53:26 +08:00
return {"info": '调整中'}, 200
@company_route.route('/edit', methods=['POST'])
2022-02-22 17:14:47 +08:00
@verify_token
2022-04-15 17:01:59 +08:00
def edit_route(**kwargs):
2022-04-20 17:03:32 +08:00
"""企业信息编辑"""
2022-04-02 16:53:26 +08:00
return {"info": '调整中'}, 200