95 lines
3.0 KiB
Python
95 lines
3.0 KiB
Python
# 个人中心
|
|
from flask import request, jsonify
|
|
from flask_login import login_required
|
|
from flask_restful import Resource, reqparse
|
|
|
|
from applications.common.utils.http import fail_api, success_api
|
|
from applications.extensions import db
|
|
from applications.models import CompanyUser
|
|
|
|
|
|
class UserStatus(Resource):
|
|
def put(self, user_id):
|
|
# 启用或者禁用用户 enable disable
|
|
|
|
parser = reqparse.RequestParser()
|
|
parser.add_argument('userId', type=int, required=True, dest='user_id')
|
|
parser.add_argument('operate', type=int, required=True, dest='operate', choices=[0, 1])
|
|
|
|
res = parser.parse_args()
|
|
|
|
if res.operate == 1:
|
|
user = CompanyUser.query.get(user_id)
|
|
user.enable = res.operate
|
|
message = success_api(msg="启动成功")
|
|
else:
|
|
user = CompanyUser.query.filter_by(id=res.user_id).update({"enable": res.operate})
|
|
message = success_api(msg="禁用成功")
|
|
if user:
|
|
db.session.commit()
|
|
else:
|
|
return fail_api(msg="出错啦")
|
|
return message
|
|
|
|
|
|
class UserAvatar(Resource):
|
|
"""修改头像"""
|
|
|
|
def put(self, user_id):
|
|
url = request.json.get("avatar").get("src")
|
|
ret = CompanyUser.query.get(user_id)
|
|
ret.avatar = url
|
|
db.session.commit()
|
|
if not ret:
|
|
return fail_api(msg="出错啦")
|
|
return success_api(msg="修改成功")
|
|
|
|
|
|
class UserInfo(Resource):
|
|
|
|
@login_required
|
|
def put(self, user_id):
|
|
parser = reqparse.RequestParser()
|
|
parser.add_argument('realName', type=str, dest='real_name')
|
|
parser.add_argument('username', type=str)
|
|
parser.add_argument('remark', type=str)
|
|
parser.add_argument('details', type=str)
|
|
|
|
res = parser.parse_args()
|
|
|
|
ret = CompanyUser.query.get(user_id)
|
|
ret.username = res.username
|
|
ret.realname = res.real_name
|
|
ret.remark = res.details
|
|
db.session.commit()
|
|
if not ret:
|
|
return fail_api(msg="出错啦")
|
|
return success_api(msg="更新成功")
|
|
|
|
|
|
class UserPassword(Resource):
|
|
"""前用户密码"""
|
|
|
|
@login_required
|
|
def put(self, user_id):
|
|
parser = reqparse.RequestParser()
|
|
parser.add_argument('oldPassword', type=str, required=True, help='旧密码不得为空')
|
|
parser.add_argument('newPassword', type=str, required=True, help='新密码不得为空')
|
|
parser.add_argument('confirmPassword', type=str, required=True, help='确认密码不能为空')
|
|
|
|
res = parser.parse_args()
|
|
|
|
if res.newPassword != res.confirmPassword:
|
|
return fail_api(msg='确认密码不一致')
|
|
|
|
""" 修改当前用户密码 """
|
|
user = CompanyUser.query.get(user_id)
|
|
is_right = user.validate_password(res.oldPassword)
|
|
if not is_right:
|
|
return jsonify(success=False, msg="旧密码错误")
|
|
user.set_password(res.newPassword)
|
|
db.session.add(user)
|
|
db.session.commit()
|
|
|
|
return jsonify(success=True, msg="更改成功")
|