189 lines
6.0 KiB
Python
189 lines
6.0 KiB
Python
from flask import Blueprint, request, Response
|
|
|
|
from Implements.User.RealCompanyVerifyImpl import UploadMaterialImpl, RealCompanyVerifyImpl
|
|
from Implements.User.TFSECompanyUserImpl import TFSECompanyUserImpl
|
|
from Utils.RSAUtil import decrypt_data
|
|
from Utils.AuthUtil import check_block, verify_token
|
|
from Utils.ErrorUtil import ReturnConditionCheckFailed
|
|
|
|
company_user_route = Blueprint('user', __name__)
|
|
|
|
|
|
@company_user_route.route('/login', methods=['POST'])
|
|
@check_block
|
|
def login():
|
|
"""企业用户登录"""
|
|
try:
|
|
impl = TFSECompanyUserImpl()
|
|
impl.email = request.json['email']
|
|
try:
|
|
impl.pwd = decrypt_data(encrypt_msg=request.json['pwd'])
|
|
except Exception:
|
|
return {"info": "登录密码错误"}, 200
|
|
impl.login()
|
|
result = impl.dict_to_return(columns=["企业名称", "已认证", "token"], verify_status=True)
|
|
return {"info": "登陆成功", "result": result}, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
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 = TFSECompanyUserImpl()
|
|
company_user.email = req['email']
|
|
try:
|
|
company_user.pwd = decrypt_data(encrypt_msg=req['pwd'])
|
|
except Exception:
|
|
return {"info": "密码格式错误"}, 200
|
|
company_user.register(req['code'])
|
|
response = {"info": "注册成功"}, 200
|
|
return response
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
return {"info": e.failed_info}, e.status_code
|
|
except KeyError:
|
|
return {"info": "参数异常"}, 400
|
|
|
|
|
|
@company_user_route.route('/user_info', methods=['GET'])
|
|
@verify_token
|
|
def user_info(**kwargs):
|
|
"""获取企业用户信息"""
|
|
try:
|
|
impl = TFSECompanyUserImpl()
|
|
impl.cid = kwargs['cid']
|
|
impl.get_company_user_info()
|
|
result= impl.dict_to_return(columns=["企业ID", "企业名称", "邮箱", "已认证"], verify_status=True)
|
|
return {"info": "查询结果", "result": result}, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
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:
|
|
impl = TFSECompanyUserImpl()
|
|
impl.cid = kwargs['cid']
|
|
response = Response(impl.get_avatar(), content_type='image/jpeg')
|
|
return response
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
return {"info": e.failed_info}, e.status_code
|
|
except KeyError:
|
|
return {"info": "参数异常"}, 400
|
|
|
|
|
|
@company_user_route.route('/change_avatar', methods=['POST'])
|
|
@verify_token
|
|
def change_avatar(**kwargs):
|
|
"""修改头像"""
|
|
try:
|
|
impl = TFSECompanyUserImpl()
|
|
impl.cid = kwargs['cid']
|
|
impl.change_avatar(request.json['avatar_id'])
|
|
return {"info": "修改成功"}, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
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():
|
|
"""修改密码"""
|
|
try:
|
|
req = request.json
|
|
impl = TFSECompanyUserImpl()
|
|
impl.email = req['email']
|
|
impl.pwd = decrypt_data(encrypt_msg=req['pwd'])
|
|
impl.change_password(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
|
|
|
|
|
|
@company_user_route.route('/change_email', methods=['POST'])
|
|
@check_block
|
|
@verify_token
|
|
def change_email(**kwargs):
|
|
"""更换账号邮箱"""
|
|
try:
|
|
req = request.json
|
|
impl = TFSECompanyUserImpl()
|
|
impl.cid = kwargs['cid']
|
|
impl.email = req['email']
|
|
impl.change_email(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
|
|
|
|
|
|
@company_user_route.route('/upload_id_card', methods=['POST'])
|
|
@verify_token
|
|
def upload_id_card(**kwargs):
|
|
"""上传身份证"""
|
|
try:
|
|
material = UploadMaterialImpl()
|
|
material.cid = kwargs['cid']
|
|
material.image = request.files['image']
|
|
result = material.upload_id_card()
|
|
return {"info": "识别结果", "result": result}, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
return {"info": e.failed_info}, e.status_code
|
|
except KeyError:
|
|
return {"info": "参数异常"}, 400
|
|
|
|
|
|
@company_user_route.route('/upload_business_license', methods=['POST'])
|
|
@verify_token
|
|
def upload_business_license(**kwargs):
|
|
"""上传营业执照"""
|
|
try:
|
|
material = UploadMaterialImpl()
|
|
material.cid = kwargs['cid']
|
|
material.image = request.files['image']
|
|
result = material.upload_business_license()
|
|
return {"info": "识别结果", "result": result}, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
return {"info": e.failed_info}, e.status_code
|
|
except KeyError:
|
|
return {"info": "参数异常"}, 400
|
|
|
|
|
|
@company_user_route.route('/company_verify', methods=['GET'])
|
|
@verify_token
|
|
def company_verify_route(**kwargs):
|
|
"""企业认证"""
|
|
try:
|
|
impl = RealCompanyVerifyImpl()
|
|
impl.cid = kwargs['cid']
|
|
impl.verify()
|
|
return {"info": "认证成功"}, 200
|
|
except ReturnConditionCheckFailed as e:
|
|
e.log_error()
|
|
return {"info": e.failed_info}, e.status_code
|
|
except KeyError:
|
|
return {"info": "参数异常"}, 400
|