155 lines
4.9 KiB
Python
155 lines
4.9 KiB
Python
from flask import Blueprint, request
|
|
|
|
from Manage.Company.CompanyImpl import SearchCompanyApiImpl, CompanyIndexApiImpl
|
|
from Utils.ErrorUtil import ReturnConditionCheckFailed
|
|
from user.user_auth import verify_token
|
|
|
|
company_route = Blueprint('company', __name__)
|
|
|
|
|
|
@company_route.route('/search', methods=['POST'])
|
|
@verify_token
|
|
def search_route(**kwargs):
|
|
"""企业搜索"""
|
|
try:
|
|
|
|
req = request.json
|
|
|
|
search_body_impl = SearchCompanyApiImpl()
|
|
search_body = SearchCompanyApiImpl().SearchBody()
|
|
sort_body = SearchCompanyApiImpl().SortBody()
|
|
|
|
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
|
|
|
|
|
|
@company_route.route('/head_info', methods=["GET"])
|
|
@verify_token
|
|
def head_info_route(**kwargs):
|
|
"""头部信息"""
|
|
try:
|
|
impl = CompanyIndexApiImpl()
|
|
impl.head_info.cid = request.args['cid']
|
|
impl.get_head_info()
|
|
result = impl.head_info.dict_to_show()
|
|
return result, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
return {"info": e.failed_info}, e.status_code
|
|
|
|
|
|
@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
|
|
|
|
|
|
@company_route.route('/basic_info', methods=['POST'])
|
|
@verify_token
|
|
def basic_info_route(**kwargs):
|
|
""""""
|
|
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
|
|
|
|
|
|
@company_route.route('/financial_data', methods=['POST'])
|
|
@verify_token
|
|
def financial_data_route(**kwargs):
|
|
"""获取财务数据"""
|
|
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
|
|
|
|
|
|
@company_route.route('/operating_risk', methods=['POST'])
|
|
@verify_token
|
|
def operating_risk_route(**kwargs):
|
|
"""经营风险分析"""
|
|
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
|
|
|
|
|
|
@company_route.route('/index', methods=['POST'])
|
|
@verify_token
|
|
def index_route(**kwargs):
|
|
"""企业主页"""
|
|
return {"info": '调整中'}, 200
|
|
|
|
|
|
@company_route.route('/edit', methods=['POST'])
|
|
@verify_token
|
|
def edit_route(**kwargs):
|
|
"""
|
|
企业信息编辑
|
|
Parameters:
|
|
-
|
|
Returns:
|
|
result: 编辑结果
|
|
"""
|
|
|
|
return {"info": '调整中'}, 200
|