tfse-app-api-v0.2/esg_rating/EsgRatingRoute.py

90 lines
2.3 KiB
Python
Raw Normal View History

2022-04-11 17:12:42 +08:00
from flask import Blueprint, request
from Utils.ErrorUtil import ReturnConditionCheckFailed
from esg_rating.EsgRatingImpl import EsgRatingImpl
2022-04-12 11:23:11 +08:00
from CompanyUser.CompanyUserAuth import verify_token
2022-04-11 17:12:42 +08:00
esg_route = Blueprint('esg', __name__)
@esg_route.route('/rating_records', methods=['GET'])
@verify_token
def rating_records(**kwargs):
"""
获取企业评价记录(esg)
Parameters:
cid 企业ID
Returns:
info 信息
result 记录
"""
try:
esg = EsgRatingImpl()
esg.cid = kwargs['cid']
result = esg.records()
status = 200 if result else 210
return {"info": "评价记录", "result": result}, status
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.__str__()}, e.status_code
@esg_route.route('/start_esg_rating', methods=['GET'])
@verify_token
def start_esg_rating_input(**kwargs):
"""
开始esg评价
Parameters:
cid 企业ID
Returns:
info 信息
result 记录
"""
try:
esg = EsgRatingImpl()
esg.cid = kwargs['cid']
info, result = esg.start_esg_rating_obj()
return {"info": info, "result": result}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.__str__()}, e.status_code
@esg_route.route('/save_esg_input_form', methods=['POST'])
@verify_token
def save_esg_input_form(**kwargs):
"""
保存综合填报数据
Parameters:
cid 企业ID
Returns:
info: 信息
"""
try:
esg = EsgRatingImpl()
esg.cid = kwargs['cid']
info = esg.save_input_general(request.json['input_form'])
return {"info": info}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.__str__()}, e.status_code
2022-04-12 10:48:38 +08:00
@esg_route.route('/submit_esg_rating_input', methods=['GET'])
@verify_token
def submit_general_rating_input(**kwargs):
"""
提交填报数据开始esg评价
Parameters:
cid 企业ID
Returns:
res: desc
"""
try:
esg = EsgRatingImpl()
esg.cid = kwargs['cid']
info, status = esg.exec_esg_rating()
return {"info": info}, status
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.__str__()}, e.status_code