from flask import Blueprint, request, Response from CompanyUser.CompanyUser_impl import CompanyUserImpl from Utils.ErrorUtil import ReturnConditionCheckFailed from common.rsa import decrypt_data from user.user_auth import check_block, verify_token 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() return {"info": "登录成功", "result": result}, 200 except ReturnConditionCheckFailed as e: 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: 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: company_user = CompanyUserImpl() company_user.cid = kwargs['cid'] result = company_user.get_company_user_info() return {"info": "查询结果", "result": result} except ReturnConditionCheckFailed as e: 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: 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: company_user = CompanyUserImpl() company_user.cid = kwargs['cid'] company_user.change_avatar(request.json['avatar_id']) return {"info": "修改成功"}, 200 except ReturnConditionCheckFailed as e: 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(): """修改密码 status: 状态码 """ req = request.json company_user = CompanyUserImpl() company_user.email = req['email'] company_user.pwd = decrypt_data(encrypt_msg=req['pwd']) info = company_user.change_password(req['code']) return {"info": info}, 200