2022-01-06 15:28:08 +08:00
|
|
|
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
|
2022-01-06 15:28:08 +08:00
|
|
|
|
|
|
|
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-01-06 15:28:08 +08:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
2022-04-21 14:26:22 +08:00
|
|
|
@company_route.route('/rating_records', methods=['GET'])
|
|
|
|
@verify_token
|
|
|
|
def rating_records_route(**kwargs):
|
|
|
|
"""评价记录"""
|
|
|
|
impl = CompanyIndexApiImpl()
|
|
|
|
impl.rating_records.cid = request.args['cid']
|
|
|
|
impl.get_rating_records()
|
|
|
|
result = impl.rating_records.dict_to_show(columns=['评价记录'])
|
|
|
|
return result, 200
|
|
|
|
|
|
|
|
|
2022-01-06 15:28:08 +08:00
|
|
|
@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
|
2022-01-17 23:26:53 +08:00
|
|
|
|
|
|
|
|
2022-01-18 15:35:11 +08:00
|
|
|
@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
|