129 lines
3.3 KiB
Python
129 lines
3.3 KiB
Python
from flask import Blueprint, request
|
|
|
|
from Modules.AdminUser.UserAuthUtils import verify_token
|
|
from Modules.Rating.RatingImpl import RatingImpl
|
|
from Utils.ErrorUtil import AttrCheckError, APIReturnError
|
|
from Utils.RouteUtil import RouteParamsCheck
|
|
|
|
rating_route = Blueprint('rating', __name__)
|
|
|
|
|
|
@rating_route.route('/processing_check', methods=['GET'])
|
|
@verify_token
|
|
def processing_check_route(**kwargs):
|
|
"""进行中评级检查"""
|
|
|
|
|
|
@rating_route.route('/before_create', methods=['GET'])
|
|
@verify_token
|
|
def before_create_routes(**kwargs):
|
|
"""评级选择"""
|
|
|
|
RouteParamsCheck(
|
|
req=request.args,
|
|
params=['cid']
|
|
).required()
|
|
|
|
cid = request.args['cid']
|
|
|
|
try:
|
|
impl = RatingImpl()
|
|
result = impl.before_create(cid=cid)
|
|
return {"info": "评级选择", "result": result}
|
|
except AssertionError as e:
|
|
return {"info": e.__str__()}, 200
|
|
|
|
|
|
@rating_route.route('/create', methods=['GET'])
|
|
@verify_token
|
|
def create_routes(**kwargs):
|
|
"""新建评级"""
|
|
|
|
RouteParamsCheck(
|
|
req=request.args,
|
|
params=['cid', 'report_date']
|
|
).required()
|
|
|
|
cid = request.args['cid']
|
|
report_date = request.args['report_date']
|
|
|
|
try:
|
|
impl = RatingImpl()
|
|
result, info = impl.create(cid=cid, report_date=report_date)
|
|
return {"info": info, "result": result}
|
|
except AssertionError as e:
|
|
return {"info": e.__str__()}, 200
|
|
except AttrCheckError as e:
|
|
return {"info": e.__str__()}, 202
|
|
|
|
|
|
@rating_route.route('/financial_analysis', methods=['GET'])
|
|
@verify_token
|
|
def financial_analysis_routes(**kwargs):
|
|
"""财务分析"""
|
|
|
|
try:
|
|
RouteParamsCheck(req=request.args, params=['rid', 'cid', 'report_date']).required()
|
|
|
|
rid = request.args['rid']
|
|
cid = request.args['cid']
|
|
report_date = request.args['report_date']
|
|
|
|
impl = RatingImpl()
|
|
result = impl.financial_analysis(rid=rid, cid=cid, report_date=report_date)
|
|
|
|
return {"info": "财务分析", "result": result}
|
|
except AssertionError as e:
|
|
return {"info": e.__str__()}, 200
|
|
except AttrCheckError as e:
|
|
return {"info": "请求异常,请检查填入数据是否正确"}, 202
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
@rating_route.route('/risk_analysis', methods=['GET'])
|
|
@verify_token
|
|
def risk_analysis_route(**kwargs):
|
|
"""风险分析"""
|
|
|
|
impl = RatingImpl()
|
|
result = impl.risk_analysis()
|
|
return {"info": "风险分析", "result": result}
|
|
|
|
|
|
@rating_route.route('/score_and_rank', methods=['GET'])
|
|
@verify_token
|
|
def score_and_rank_route(**kwargs):
|
|
"""得分级别"""
|
|
|
|
rid = request.args['rid']
|
|
|
|
impl = RatingImpl()
|
|
result = impl.score_and_rank(rid=rid)
|
|
|
|
return {"info": "得分级别", "result": result}
|
|
|
|
|
|
@rating_route.route('/rank_report', methods=['GET'])
|
|
@verify_token
|
|
def rank_report_route(**kwargs):
|
|
"""评级报告"""
|
|
|
|
|
|
@rating_route.route('/submit', methods=['GET'])
|
|
@verify_token
|
|
def submit_route(**kwargs):
|
|
"""确认提交"""
|
|
|
|
|
|
@rating_route.route('/delete', methods=['GET'])
|
|
@verify_token
|
|
def delete_route(**kwargs):
|
|
"""删除评级(进行中)"""
|
|
|
|
|
|
@rating_route.route('/duplicate_check', methods=['GET'])
|
|
@verify_token
|
|
def duplicate_rating_check_route(**kwargs):
|
|
"""重复年度评级检查"""
|