from flask import Blueprint, request from common.APIAuth import api_secret from Manage.rating.Rating import Rating 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: 返回数据 """ rating = Rating() rating.query = request.json['query'] skip = request.json['skip'] limit = request.json['limit'] data = rating.search_rating(skip, limit) return {"info": '查询成功', "result": data}, 200 @rating_route.route('/rating_result', methods=['POST']) @api_secret def rating_result(): """ 查询评价结果 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: rating = Rating() rating.rid = request.json['rid'] data = rating.search_rating_result() return {"info": '查询成功', "result": data}, 200 except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/details', methods=['POST']) @api_secret def fill_details(): """ 查看填报详情信息 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: rating = Rating() rating.rid = request.json['rid'] data = rating.search_fill_details() return {"info": '查询成功', "result": data}, 200 except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/risk', methods=['POST']) @api_secret def risk_info(): """ 查看风险数据信息 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: rating = Rating() rating.rid = request.json['rid'] data = rating.search_risk_info() return {"info": '查询成功', "result": data}, 200 except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/get_report_text_model', methods=['POST']) @verify_token def get_report_text_model_route(**kwargs): """ 查看报告text_model """ rating = Rating() rating.rid = request.json['rid'] result = rating.get_report_text_model() return {"info": "查询成功", "result": result}, 200 @rating_route.route('/report_edit_save_delete', methods=['POST']) @verify_token def report_edit_save_delete(**kwargs): """ 报告编辑、保存、删除操作 Parameters: - Returns: info: 生成结果 """ try: def edit(): info = rating.report_edit(text_model) return info def delete(): info = rating.report_delete() return info def create(): info = rating.report_create() return info rating = Rating() rating.rid = request.json['rid'] rating.cid = request.json['cid'] text_model = request.json['text_model'] step_01 = edit() if step_01: step_02 = delete() if step_02: step_03 = create() return step_03 else: return {"info": "删除失败"} else: return {"info": "此公司不存在报告数据"} except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/get_company_process', methods=['POST']) @api_secret def get_company_process(): """ 获取评测流程 Parameters: - Returns: result dict 流程数据 """ rating = Rating() rating.rid = request.json['rid'] rating.cid = request.json['cid'] rating.types = request.json['types'] info = rating.get_company_process() status = 200 if info else 210 return {"info": info}, status @rating_route.route('/esg_rating_result', methods=['POST']) @api_secret def esg_rating_result(): """ 查询esg评价结果 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: rating = Rating() rating.rid = request.json['rid'] data = rating.search_esg_rating_result() return {"info": '查询成功', "result": data}, 200 except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/esg_details', methods=['POST']) @api_secret def esg_fill_details(): """ 查看ESG填报详情信息 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: rating = Rating() rating.rid = request.json['rid'] data = rating.search_esg_fill_details() return {"info": '查询成功', "result": data}, 200 except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/esg_risk', methods=['POST']) @api_secret def esg_risk_info(): """ 查看ESG风险数据信息 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: rating = Rating() rating.rid = request.json['rid'] data = rating.search_esg_risk_info() return {"info": '查询成功', "result": data}, 200 except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400 @rating_route.route('/get_esg_report_text', methods=['POST']) @api_secret def get_esg_report_text_route(**kwargs): """ 查看ESG报告text_model """ rating = Rating() rating.rid = request.json['rid'] result = rating.get_esg_report_text() return {"info": "查询成功", "result": result}, 200 @rating_route.route('/esg_report_edit_save_delete', methods=['POST']) @api_secret def esg_report_edit_save_delete(**kwargs): """ ESG报告编辑、保存、删除操作 Parameters: - Returns: info: 生成结果 """ try: def edit(): info = rating.esg_report_edit(text_model) return info def delete(): info = rating.esg_report_delete() return info def create(): info = rating.esg_report_create() return info rating = Rating() rating.rid = request.json['rid'] rating.cid = request.json['cid'] text_model = request.json['text_model'] step_01 = edit() if step_01: step_02 = delete() if step_02: step_03 = create() return step_03 else: return {"info": "删除失败"} else: return {"info": "此公司不存在报告数据"} except KeyError: return {"info": "键值错误"}, 400 except TypeError: return {"info": "参数错误"}, 400