tfse-admin-api-v0.2/Manage/Ratings/RatingRoutes.py

347 lines
11 KiB
Python

from flask import Blueprint, request
from Manage.Ratings.Implements.SearchRatingApiImpl import SearchRatingApiImpl
from Utils.ErrorUtil import ReturnConditionCheckFailed
from user.user_auth import verify_token, authority_scope
rating_route = Blueprint('rating', __name__)
@rating_route.route('/search', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def search_rating(**kwargs):
"""
企业评价记录搜索
Parameters:
-
Returns:
info: 返回信息
result: 返回数据
"""
try:
req = request.json
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
sort_body = search_body_impl.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__('评价ID'):
search_body.rid = search['评价ID']
if search.__contains__('企业名称'):
search_body.name = search['企业名称']
if search.__contains__('评价项目'):
search_body.project = search['评价项目']
if search.__contains__('评价方式'):
search_body.method = search['评价方式']
if search.__contains__('进行状态'):
search_body.status = search['进行状态']
if search.__contains__('评价结果'):
search_body.result = search['评价结果']
if search.__contains__('评价时间'):
search_body.time = search['评价时间']
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
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/rating_result', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def rating_result(**kwargs):
"""
查询评价结果
Parameters:
-
Returns:
info: 返回信息
result: 返回数据
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.result_search()
return {"info": '查询成功', "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/get_company_process', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def get_company_process(**kwargs):
"""
获取评测流程
Parameters:
-
Returns:
result dict 流程数据
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.process_search()
return {"info": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/details', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def fill_details(**kwargs):
"""
查看填报详情信息
Parameters:
-
Returns:
result dict 流程数据
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.detail_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/risk', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def risk_info(**kwargs):
"""
查询风险数据
Parameters:
-
Returns:
result dict 流程数据
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.risk_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/report_data', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def report_data(**kwargs):
"""
查看报告数据
Parameters:
-
Returns:
result dict 流程数据
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.report_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/report_revise', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def report_revise(**kwargs):
"""
报告编辑、保存、删除操作
Parameters:
-
Returns:
result dict 生成结果
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
text_model = request.json['text_model']
search_body_impl.search = search_body
result = search_body_impl.report_revise(text_model)
return result
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/financial_index', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def financial_index(**kwargs):
"""
查看财指结果
Parameters:
-
Returns:
result dict 财指结果
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.financial_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/comprehensive_credit_analysis', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def comprehensive_credit(**kwargs):
"""
查看综合信用分析
Parameters:
-
Returns:
result dict 财指结果
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.comprehensive_credit_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('/business_risk_analysis', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def business_risk(**kwargs):
"""
查看经营风险分析
Parameters:
-
Returns:
result dict 财指结果
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.business_risk_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('financial_elements_analysis', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def financial_elements(**kwargs):
"""
查看财务要素分析
Parameters:
-
Returns:
result dict 财指结果
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.financial_elements_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@rating_route.route('esg_evaluation_analysis', methods=['POST'])
@verify_token
@authority_scope(['admin', 'developer', 'analysts', 'operator'])
def esg_evaluation(**kwargs):
"""
查看财务要素分析
Parameters:
-
Returns:
result dict 财指结果
"""
try:
search_body_impl = SearchRatingApiImpl()
search_body = search_body_impl.SearchBody()
search_body.rid = request.json['rid']
search_body_impl.search = search_body
result = search_body_impl.esg_evaluation_search()
return {"info": "查询成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400