2022-01-11 11:02:46 +08:00
|
|
|
|
from flask import Blueprint, request
|
|
|
|
|
|
2022-04-01 02:24:02 +08:00
|
|
|
|
from Utils.ErrorUtil import ReturnConditionCheckFailed
|
2022-04-01 12:10:18 +08:00
|
|
|
|
from user.user_impl import UserManageImpl, ListUserImpl, UserLoginImpl, SendLoginVcodeEmailImpl
|
2022-02-11 11:24:28 +08:00
|
|
|
|
from user.user_auth import verify_token, authority_scope
|
2022-01-11 11:02:46 +08:00
|
|
|
|
|
|
|
|
|
user_route = Blueprint('user', __name__)
|
|
|
|
|
|
|
|
|
|
|
2022-03-30 04:20:36 +08:00
|
|
|
|
@user_route.route('/online_check', methods=['GET'])
|
|
|
|
|
@verify_token
|
|
|
|
|
def online_check_route(**kwargs):
|
|
|
|
|
"""
|
|
|
|
|
在线检查,检查token是否有效
|
|
|
|
|
"""
|
|
|
|
|
return {"info": "正常"}, 200
|
|
|
|
|
|
|
|
|
|
|
2022-04-01 02:24:02 +08:00
|
|
|
|
@user_route.route('/create_user', methods=['POST'])
|
|
|
|
|
@verify_token
|
|
|
|
|
@authority_scope(['admin'])
|
|
|
|
|
def create_user_route(**kwargs):
|
|
|
|
|
"""新建用户"""
|
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
2022-04-01 02:34:49 +08:00
|
|
|
|
user_manage = UserManageImpl()
|
|
|
|
|
user_manage.email, user_manage.name, user_manage.pwd, user_manage.role = req['email'], req['name'], req['pwd'], req['role']
|
2022-04-01 11:15:09 +08:00
|
|
|
|
user_manage.check_obj(columns=["email", "name", "pwd", "role"])
|
2022-04-01 02:34:49 +08:00
|
|
|
|
user_manage.create()
|
2022-04-01 02:24:02 +08:00
|
|
|
|
return {"info": "用户创建成功"}
|
|
|
|
|
except ReturnConditionCheckFailed as e:
|
|
|
|
|
e.log_error()
|
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
|
|
2022-03-30 16:47:27 +08:00
|
|
|
|
@user_route.route('/list_user', methods=['POST'])
|
|
|
|
|
@verify_token
|
|
|
|
|
@authority_scope(['admin'])
|
|
|
|
|
def list_user_route(**kwargs):
|
|
|
|
|
"""
|
|
|
|
|
用户信息列表接口
|
|
|
|
|
"""
|
2022-04-01 03:49:16 +08:00
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
|
|
|
|
list_user = ListUserImpl(
|
|
|
|
|
req['search'],
|
|
|
|
|
req['sort'],
|
|
|
|
|
req['page_size'],
|
|
|
|
|
req['page_no']
|
|
|
|
|
)
|
|
|
|
|
list_user.check_obj()
|
|
|
|
|
result = list_user.list()
|
|
|
|
|
return {"info": '查询结果', "result": result}, 200
|
|
|
|
|
except ReturnConditionCheckFailed as e:
|
|
|
|
|
e.log_error()
|
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
2022-03-30 16:47:27 +08:00
|
|
|
|
|
|
|
|
|
|
2022-04-01 11:15:09 +08:00
|
|
|
|
@user_route.route('/login', methods=['POST'])
|
|
|
|
|
def login_route():
|
|
|
|
|
"""登录"""
|
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
|
|
|
|
user_login = UserLoginImpl()
|
|
|
|
|
user_login.email, user_login.pwd, user_login.vcode = req['email'], req['pwd'], req['vcode']
|
|
|
|
|
user_login.check_obj()
|
|
|
|
|
user_login.login()
|
|
|
|
|
result = user_login.dict_to_show()
|
|
|
|
|
return {"info": "登录成功", "result": result}, 200
|
|
|
|
|
except ReturnConditionCheckFailed as e:
|
|
|
|
|
e.log_error()
|
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
|
|
2022-01-11 15:12:08 +08:00
|
|
|
|
@user_route.route('/send_vcode_to_user', methods=['POST'])
|
|
|
|
|
def send_vcode_to_user_route():
|
2022-04-01 12:10:18 +08:00
|
|
|
|
"""发送验证码"""
|
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
|
|
|
|
obj = SendLoginVcodeEmailImpl()
|
|
|
|
|
obj.email = req['email']
|
|
|
|
|
obj.check_obj()
|
|
|
|
|
obj.send_vcode_email()
|
|
|
|
|
return {"info": "发送成功"}, 200
|
|
|
|
|
except ReturnConditionCheckFailed as e:
|
|
|
|
|
e.log_error()
|
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
2022-01-11 17:36:31 +08:00
|
|
|
|
|
|
|
|
|
|
2022-01-27 17:28:49 +08:00
|
|
|
|
@user_route.route('/disable_user', methods=['GET'])
|
2022-01-26 15:07:18 +08:00
|
|
|
|
@verify_token
|
|
|
|
|
@authority_scope(['admin'])
|
|
|
|
|
def disable_user_route(**kwargs):
|
2022-04-01 03:49:16 +08:00
|
|
|
|
"""停用用户接口"""
|
2022-04-01 12:46:49 +08:00
|
|
|
|
try:
|
|
|
|
|
user = UserManageImpl()
|
|
|
|
|
user.uid = request.args['UID']
|
|
|
|
|
user.status = "disable"
|
|
|
|
|
user.check_obj(columns=["uid", "status"])
|
|
|
|
|
user.disable()
|
|
|
|
|
return {"info": "已停用该用户"}, 200
|
|
|
|
|
except ReturnConditionCheckFailed as e:
|
|
|
|
|
e.log_error()
|
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@user_route.route('/active_user', methods=['GET'])
|
|
|
|
|
@verify_token
|
|
|
|
|
@authority_scope(['admin'])
|
|
|
|
|
def active_user_route(**kwargs):
|
|
|
|
|
"""激活用户接口"""
|
|
|
|
|
try:
|
|
|
|
|
user = UserManageImpl()
|
|
|
|
|
user.uid = request.args['UID']
|
|
|
|
|
user.status = "normal"
|
|
|
|
|
user.check_obj(columns=["uid", "status"])
|
|
|
|
|
user.active()
|
|
|
|
|
return {"info": "已激活该用户"}, 200
|
|
|
|
|
except ReturnConditionCheckFailed as e:
|
|
|
|
|
e.log_error()
|
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
2022-01-26 15:07:18 +08:00
|
|
|
|
|
|
|
|
|
|
2022-01-28 10:57:02 +08:00
|
|
|
|
@user_route.route('/delete_user', methods=['GET'])
|
2022-01-26 15:07:18 +08:00
|
|
|
|
@verify_token
|
|
|
|
|
@authority_scope(['admin'])
|
|
|
|
|
def delete_user_route(**kwargs):
|
2022-04-01 03:49:16 +08:00
|
|
|
|
"""删除用户接口"""
|
|
|
|
|
return {"info": "调整中"}, 200
|
2022-01-26 15:07:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@user_route.route('/manage_role_of_user', methods=['POST'])
|
|
|
|
|
@verify_token
|
|
|
|
|
@authority_scope(['admin'])
|
|
|
|
|
def manage_role_of_user_route(**kwargs):
|
2022-04-01 03:49:16 +08:00
|
|
|
|
"""管理用户角色接口"""
|
|
|
|
|
return {"info": "调整中"}, 200
|