tfse-app-api-v0.2/TestForAdmin/route.py

99 lines
3.2 KiB
Python

from flask import Blueprint, request, Response
from werkzeug.security import generate_password_hash
from CompanyUser.CompanyUserImpl import CompanyVerifyThreeFactorsImpl, CompanyUserImpl, EmailVerifyCodeRecordImpl
from Rating.Credit.CreditImpl import CreditRating
from Rating.Esg.EsgImpl import EsgRating
from TestForAdmin.APIAuth import api_secret
from Utils.ErrorUtil import ReturnConditionCheckFailed
test_admin_route = Blueprint('test_admin', __name__)
@test_admin_route.route('/company_verify', methods=['GET'])
@api_secret
def company_verify_route():
"""企业认证"""
try:
company_verify = CompanyVerifyThreeFactorsImpl()
company_verify.cid = request.args['cid']
company_verify.company_verify()
return {"info": "认证成功"}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@test_admin_route.route('/general_rating', methods=['POST'])
@api_secret
def general_rating():
"""评价打分"""
try:
project = request.json['评价项目']
cid = request.json['企业ID']
if project == '综合信用评价':
credit = CreditRating()
credit.cid = cid
info, status = credit.exec_cc_rating()
return {"info": info}, status
else:
esg = EsgRating()
esg.cid = cid
info, status = esg.exec_esg_rating()
return {"info": info}, status
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@test_admin_route.route('/verify_email', methods=['POST'])
@api_secret
def verify_email():
"""
新注册企业
1.调用发送注册邮箱,获取验证码
2.使用邮箱、密码、验证码进行注册
3.使用认证接口进行认证、初始化企业数据
"""
try:
req = request.json
# 发送验证码
email_verify = EmailVerifyCodeRecordImpl()
email_verify.email = req['email']
email_verify.v_type = 'register'
email_verify.send_email()
return {"info": "邮件已发送"}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@test_admin_route.route('/register', methods=['POST'])
@api_secret
def register():
"""
新注册企业
1.调用发送注册邮箱,获取验证码
2.使用邮箱、密码、验证码进行注册
3.使用认证接口进行认证、初始化企业数据
"""
try:
req = request.json
# 注册
company_user = CompanyUserImpl()
company_user.email = req['email']
company_user.pwd = generate_password_hash("Fecr1988.")
company_user.register(req['code'])
return {"info": "注册成功"}, 200
except ReturnConditionCheckFailed as e:
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400