tfse-app-api-v0.2/CompanyUser/CompanyUserRoute.py

204 lines
6.4 KiB
Python
Raw Normal View History

from flask import Blueprint, request, Response
from common.rsa import decrypt_data
2022-04-07 17:09:32 +08:00
from CompanyUser.CompanyUserAuth import check_block, verify_token
2022-04-07 14:03:29 +08:00
from Utils.ErrorUtil import ReturnConditionCheckFailed
2022-04-11 10:42:46 +08:00
from CompanyUser.CompanyUserImpl import CompanyUserImpl, EmailVerifyCodeRecordImpl, VerifyMaterialImpl, \
CompanyVerifyThreeFactorsImpl
company_user_route = Blueprint('user', __name__)
@company_user_route.route('/login', methods=['POST'])
@check_block
def login():
"""企业用户登录"""
try:
company_user = CompanyUserImpl()
company_user.email = request.json['email']
try:
company_user.pwd = decrypt_data(encrypt_msg=request.json['pwd'])
except Exception:
return {"info": "登录密码错误"}, 200
result = company_user.login()
2022-04-11 12:07:57 +08:00
return {"info": "登陆成功", "result": result}, 200
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_user_route.route('/register', methods=['POST'])
@check_block
def register():
"""企业用户注册"""
try:
req = request.json
company_user = CompanyUserImpl()
company_user.email = req['email']
company_user.pwd = req['pwd']
company_user.register(req['code'])
response = {"info": "注册成功"}, 200
return response
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
return {"info": e.failed_info}, e.status_code
2022-04-06 16:32:51 +08:00
except KeyError:
return {"info": "参数异常"}, 400
@company_user_route.route('/user_info', methods=['GET'])
@verify_token
def user_info(**kwargs):
"""获取企业用户信息"""
try:
company_user = CompanyUserImpl()
company_user.cid = kwargs['cid']
result = company_user.get_company_user_info()
return {"info": "查询结果", "result": result}
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-06 16:32:51 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_user_route.route('/get_avatar', methods=['GET'])
@verify_token
def get_avatar(**kwargs):
"""获取头像"""
try:
company_user = CompanyUserImpl()
company_user.cid = kwargs['cid']
response = Response(company_user.get_avatar(), content_type='image/jpeg')
return response
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-06 16:32:51 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
2022-04-06 17:03:16 +08:00
@company_user_route.route('/change_avatar', methods=['POST'])
@verify_token
def change_avatar(**kwargs):
"""修改头像"""
try:
company_user = CompanyUserImpl()
company_user.cid = kwargs['cid']
company_user.change_avatar(request.json['avatar_id'])
return {"info": "修改成功"}, 200
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-06 17:03:16 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
@company_user_route.route('/change_pwd', methods=['POST'])
@check_block
def change_pwd():
2022-04-07 05:05:44 +08:00
"""修改密码"""
try:
req = request.json
company_user = CompanyUserImpl()
company_user.email = req['email']
company_user.pwd = decrypt_data(encrypt_msg=req['pwd'])
company_user.change_password(req['code'])
return {"info": "修改成功"}, 200
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-07 05:05:44 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
2022-04-07 05:13:31 +08:00
@company_user_route.route('/change_email', methods=['POST'])
@check_block
@verify_token
def change_email(**kwargs):
"""更换账号邮箱"""
try:
req = request.json
company_user = CompanyUserImpl()
company_user.cid = kwargs['cid']
company_user.email = req['email']
2022-04-07 05:17:41 +08:00
company_user.change_email(req['code'])
return {"info": "修改成功"}, 200
2022-04-07 05:13:31 +08:00
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-07 05:13:31 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
2022-04-07 06:02:08 +08:00
@company_user_route.route('/verify_email', methods=['POST'])
@check_block
def verify_email():
"""发送邮箱验证码"""
try:
req = request.json
email_verify = EmailVerifyCodeRecordImpl()
email_verify.email = req['email']
email_verify.v_type = req['v_type']
email_verify.send_email()
return {"info": "邮件已发送"}, 200
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-07 06:02:08 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
2022-04-07 06:07:42 +08:00
@company_user_route.route('/upload_id_card', methods=['POST'])
@verify_token
def upload_id_card(**kwargs):
"""上传身份证"""
2022-04-07 11:19:29 +08:00
try:
material = VerifyMaterialImpl()
material.cid = kwargs['cid']
material.image = request.files['image']
result = material.upload_id_card()
return {"info": "识别结果", "result": result}, 200
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-07 11:19:29 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
2022-04-07 14:03:29 +08:00
@company_user_route.route('/upload_business_license', methods=['POST'])
@verify_token
def upload_business_license(**kwargs):
"""上传营业执照"""
try:
material = VerifyMaterialImpl()
material.cid = kwargs['cid']
material.image = request.files['image']
result = material.upload_business_license()
return {"info": "识别结果", "result": result}, 200
except ReturnConditionCheckFailed as e:
2022-04-07 17:09:32 +08:00
e.log_error()
2022-04-07 14:03:29 +08:00
return {"info": e.failed_info}, e.status_code
except KeyError:
return {"info": "参数异常"}, 400
2022-04-07 17:09:32 +08:00
2022-04-11 10:42:46 +08:00
@company_user_route.route('/company_verify', methods=['GET'])
2022-04-07 17:09:32 +08:00
@verify_token
def company_verify_route(**kwargs):
2022-04-11 10:42:46 +08:00
"""企业认证"""
try:
company_verify = CompanyVerifyThreeFactorsImpl()
company_verify.cid = kwargs['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