wip(semantic):数据模型语义化
This commit is contained in:
@@ -4,7 +4,7 @@ from applications.api import api_bp
|
||||
from applications.common.utils.http import success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.extensions import db
|
||||
from applications.models import Dept, User
|
||||
from applications.models import CompanyDepartment, CompanyUser
|
||||
from flask_restful import marshal, reqparse
|
||||
from applications.common.serialization import dept_fields
|
||||
|
||||
@@ -16,7 +16,7 @@ class Department(Resource):
|
||||
|
||||
@authorize("admin:dept:main", log=True)
|
||||
def get(self):
|
||||
dept_data = Dept.query.order_by(Dept.sort).all()
|
||||
dept_data = CompanyDepartment.query.order_by(CompanyDepartment.sort).all()
|
||||
# TODO dtree 需要返回状态信息
|
||||
res = {
|
||||
"status": {"code": 200, "message": "默认"},
|
||||
@@ -38,7 +38,7 @@ class Department(Resource):
|
||||
|
||||
res = parser.parse_args()
|
||||
|
||||
dept = Dept(
|
||||
dept = CompanyDepartment(
|
||||
parent_id=res.parent_id,
|
||||
dept_name=res.dept_name,
|
||||
sort=res.sort,
|
||||
@@ -58,7 +58,7 @@ class Department(Resource):
|
||||
class DeptURD(Resource):
|
||||
@authorize("admin:dept:edit", log=True)
|
||||
def get(self, dept_id):
|
||||
dept = Dept.query.filter_by(id=dept_id).first()
|
||||
dept = CompanyDepartment.query.filter_by(id=dept_id).first()
|
||||
dept_data = {
|
||||
'id': dept.id,
|
||||
'dept_name': dept.dept_name,
|
||||
@@ -93,7 +93,7 @@ class DeptURD(Resource):
|
||||
"status": res.status,
|
||||
"address": res.address
|
||||
}
|
||||
res = Dept.query.filter_by(id=dept_id).update(data)
|
||||
res = CompanyDepartment.query.filter_by(id=dept_id).update(data)
|
||||
if not res:
|
||||
return fail_api(msg="更新失败")
|
||||
db.session.commit()
|
||||
@@ -101,8 +101,8 @@ class DeptURD(Resource):
|
||||
|
||||
@authorize("admin:dept:remove", log=True)
|
||||
def delete(self, dept_id):
|
||||
ret = Dept.query.filter_by(id=dept_id).delete()
|
||||
User.query.filter_by(dept_id=dept_id).update({"dept_id": None})
|
||||
ret = CompanyDepartment.query.filter_by(id=dept_id).delete()
|
||||
CompanyUser.query.filter_by(dept_id=dept_id).update({"dept_id": None})
|
||||
db.session.commit()
|
||||
if ret:
|
||||
return success_api(msg="删除成功")
|
||||
@@ -113,7 +113,7 @@ class DeptURD(Resource):
|
||||
class DeptEnable(Resource):
|
||||
@authorize("admin:dept:edit", log=True)
|
||||
def put(self, dept_id):
|
||||
d = Dept.query.get(dept_id)
|
||||
d = CompanyDepartment.query.get(dept_id)
|
||||
if d:
|
||||
d.status = not d.status
|
||||
db.session.commit()
|
||||
|
||||
@@ -10,7 +10,7 @@ from applications.common.utils.http import fail_api, success_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.upload import upload_one, delete_photo_by_id
|
||||
from applications.extensions import db
|
||||
from applications.models import Photo
|
||||
from applications.models import FilePhoto
|
||||
|
||||
file_api = Api(api_bp, prefix='/file')
|
||||
|
||||
@@ -22,8 +22,8 @@ class FilePhotos(Resource):
|
||||
def get(self):
|
||||
page = request.args.get('page', type=int)
|
||||
limit = request.args.get('limit', type=int)
|
||||
photo_paginate = Photo.query.order_by(desc(Photo.create_time)).paginate(page=page, per_page=limit,
|
||||
error_out=False)
|
||||
photo_paginate = FilePhoto.query.order_by(desc(FilePhoto.create_at)).paginate(page=page, per_page=limit,
|
||||
error_out=False)
|
||||
data = marshal(photo_paginate.items, photo_fields)
|
||||
return table_api(data=data, count=photo_paginate.total, code=0)
|
||||
|
||||
@@ -49,11 +49,11 @@ class FilePhotos(Resource):
|
||||
"""图片批量删除"""
|
||||
# TODO bugs 图片删除失败
|
||||
ids = request.form.getlist('ids[]')
|
||||
photo_name = Photo.query.filter(Photo.id.in_(ids)).all()
|
||||
photo_name = FilePhoto.query.filter(FilePhoto.id.in_(ids)).all()
|
||||
upload_url = current_app.config.get("UPLOADED_PHOTOS_DEST")
|
||||
for p in photo_name:
|
||||
os.remove(upload_url + '/' + p.name)
|
||||
photo = Photo.query.filter(Photo.id.in_(ids)).delete(synchronize_session=False)
|
||||
photo = FilePhoto.query.filter(FilePhoto.id.in_(ids)).delete(synchronize_session=False)
|
||||
db.session.commit()
|
||||
if photo:
|
||||
return success_api(msg="删除成功")
|
||||
|
||||
@@ -6,7 +6,7 @@ from applications.api import api_bp
|
||||
from applications.common.admin_log import login_log
|
||||
from applications.common.gen_captcha import add_auth_session
|
||||
from applications.common.utils.http import fail_api, success_api
|
||||
from applications.models import User
|
||||
from applications.models import CompanyUser
|
||||
|
||||
from flask import render_template, make_response
|
||||
|
||||
@@ -34,7 +34,7 @@ class Login(Resource):
|
||||
|
||||
if req.captcha != s_code:
|
||||
return fail_api(msg="验证码错误")
|
||||
user = User.query.filter_by(username=req.username).first()
|
||||
user = CompanyUser.query.filter_by(username=req.username).first()
|
||||
|
||||
if user is None:
|
||||
return fail_api(msg="不存在的用户")
|
||||
|
||||
+12
-12
@@ -10,7 +10,7 @@ from applications.common.serialization import power2_fields, power_fields
|
||||
from applications.common.utils.http import success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.extensions import db
|
||||
from applications.models import Power, Role
|
||||
from applications.models import RightsPower, RightsRole
|
||||
|
||||
|
||||
def get_render_config():
|
||||
@@ -124,15 +124,15 @@ def make_menu_tree():
|
||||
|
||||
# 删除权限(目前没有判断父节点自动删除子节点)
|
||||
def remove_power(power_id):
|
||||
power = Power.query.filter_by(id=power_id).first()
|
||||
power = RightsPower.query.filter_by(id=power_id).first()
|
||||
role_id_list = []
|
||||
roles = power.role
|
||||
for role in roles:
|
||||
role_id_list.append(role.id)
|
||||
roles = Role.query.filter(Role.id.in_(role_id_list)).all()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(role_id_list)).all()
|
||||
for p in roles:
|
||||
power.role.remove(p)
|
||||
r = Power.query.filter_by(id=power_id).delete()
|
||||
r = RightsPower.query.filter_by(id=power_id).delete()
|
||||
db.session.commit()
|
||||
return r
|
||||
|
||||
@@ -162,7 +162,7 @@ class RightRights(Resource):
|
||||
def get(self):
|
||||
"""获取选择父节点"""
|
||||
|
||||
power = Power.query.all()
|
||||
power = RightsPower.query.all()
|
||||
power_data = marshal(power, power_fields)
|
||||
power_data.append({"powerId": 0, "powerName": "顶级权限", "parentId": -1})
|
||||
res = {
|
||||
@@ -180,12 +180,12 @@ class RightRights(Resource):
|
||||
|
||||
|
||||
@rights_api.resource('/power/<int:power_id>')
|
||||
class RightsPower(Resource):
|
||||
class RightsPowerView(Resource):
|
||||
|
||||
@authorize("admin:power:add", log=True)
|
||||
def post(self, power_id):
|
||||
res = parser_power.parse_args()
|
||||
power = Power(
|
||||
power = RightsPower(
|
||||
icon=res.icon,
|
||||
open_type=res.open_type,
|
||||
parent_id=res.parent_id,
|
||||
@@ -208,15 +208,15 @@ class RightsPower(Resource):
|
||||
@authorize("admin:power:remove", log=True)
|
||||
def delete(self, power_id):
|
||||
# 删除权限(目前没有判断父节点自动删除子节点)
|
||||
power = Power.query.filter_by(id=power_id).first()
|
||||
power = RightsPower.query.filter_by(id=power_id).first()
|
||||
role_id_list = []
|
||||
roles = power.role
|
||||
for role in roles:
|
||||
role_id_list.append(role.id)
|
||||
roles = Role.query.filter(Role.id.in_(role_id_list)).all()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(role_id_list)).all()
|
||||
for p in roles:
|
||||
power.role.remove(p)
|
||||
r = Power.query.filter_by(id=power_id).delete()
|
||||
r = RightsPower.query.filter_by(id=power_id).delete()
|
||||
db.session.commit()
|
||||
|
||||
if r:
|
||||
@@ -238,7 +238,7 @@ class RightsPower(Resource):
|
||||
"url": res.power_url,
|
||||
"sort": res.sort
|
||||
}
|
||||
power = Power.query.filter_by(id=power_id).update(data)
|
||||
power = RightsPower.query.filter_by(id=power_id).update(data)
|
||||
db.session.commit()
|
||||
|
||||
if not power:
|
||||
@@ -251,7 +251,7 @@ class PowerStatus(Resource):
|
||||
@authorize("admin:power:edit", log=True)
|
||||
def put(self, right_id):
|
||||
|
||||
power = Power.query.get(right_id)
|
||||
power = RightsPower.query.get(right_id)
|
||||
if power:
|
||||
power.enable = not power.enable
|
||||
db.session.commit()
|
||||
|
||||
+17
-17
@@ -7,28 +7,28 @@ from applications.common.utils.rights import authorize
|
||||
from applications.common.serialization import power_fields
|
||||
|
||||
from applications.extensions import db
|
||||
from applications.models import Power, Role, User
|
||||
from applications.models import RightsPower, RightsRole, CompanyUser
|
||||
from . import api_bp
|
||||
|
||||
|
||||
def remove_role(role_id):
|
||||
""" 删除角色 """
|
||||
role = Role.query.filter_by(id=role_id).first()
|
||||
role = RightsRole.query.filter_by(id=role_id).first()
|
||||
# 删除该角色的权限
|
||||
power_id_list = []
|
||||
for p in role.power:
|
||||
power_id_list.append(p.id)
|
||||
|
||||
powers = Power.query.filter(Power.id.in_(power_id_list)).all()
|
||||
powers = RightsPower.query.filter(RightsPower.id.in_(power_id_list)).all()
|
||||
for p in powers:
|
||||
role.power.remove(p)
|
||||
user_id_list = []
|
||||
for u in role.user:
|
||||
user_id_list.append(u.id)
|
||||
users = User.query.filter(User.id.in_(user_id_list)).all()
|
||||
users = CompanyUser.query.filter(CompanyUser.id.in_(user_id_list)).all()
|
||||
for u in users:
|
||||
role.user.remove(u)
|
||||
r = Role.query.filter_by(id=role_id).delete()
|
||||
r = RightsRole.query.filter_by(id=role_id).delete()
|
||||
db.session.commit()
|
||||
return r
|
||||
|
||||
@@ -57,11 +57,11 @@ class RoleRoles(Resource):
|
||||
|
||||
filters = []
|
||||
if res.role_name:
|
||||
filters.append(Role.name.like('%' + res.role_name + '%'))
|
||||
filters.append(RightsRole.name.like('%' + res.role_name + '%'))
|
||||
if res.role_code:
|
||||
filters.append(Role.code.like('%' + res.role_code + '%'))
|
||||
filters.append(RightsRole.code.like('%' + res.role_code + '%'))
|
||||
|
||||
paginate = Role.query.filter(*filters).paginate(page=res.page, per_page=res.limit, error_out=False)
|
||||
paginate = RightsRole.query.filter(*filters).paginate(page=res.page, per_page=res.limit, error_out=False)
|
||||
|
||||
return table_api(data=[
|
||||
{
|
||||
@@ -72,7 +72,7 @@ class RoleRoles(Resource):
|
||||
'remark': item.remark,
|
||||
'details': item.details,
|
||||
'sort': item.sort,
|
||||
'create_at': item.create_time,
|
||||
'create_at': item.create_at,
|
||||
} for item in paginate.items
|
||||
], count=paginate.total, code=0)
|
||||
|
||||
@@ -102,7 +102,7 @@ class RoleRole(Resource):
|
||||
|
||||
res = parser.parse_args()
|
||||
|
||||
role = Role(
|
||||
role = RightsRole(
|
||||
details=res.details,
|
||||
enable=res.enable,
|
||||
code=res.role_code,
|
||||
@@ -134,7 +134,7 @@ class RoleRole(Resource):
|
||||
"details": res.details
|
||||
}
|
||||
|
||||
role = Role.query.filter_by(id=role_id).update(data)
|
||||
role = RightsRole.query.filter_by(id=role_id).update(data)
|
||||
db.session.commit()
|
||||
if not role:
|
||||
return fail_api(msg="更新角色失败")
|
||||
@@ -147,7 +147,7 @@ class RoleEnable(Resource):
|
||||
|
||||
@authorize("admin:role:edit", log=True)
|
||||
def put(self, role_id):
|
||||
ret = Role.query.get(role_id)
|
||||
ret = RightsRole.query.get(role_id)
|
||||
ret.enable = not ret.enable
|
||||
db.session.commit()
|
||||
|
||||
@@ -163,10 +163,10 @@ class RolePower(Resource):
|
||||
@authorize("admin:role:main", log=True)
|
||||
def get(self, role_id):
|
||||
# 获取角色权限
|
||||
role = Role.query.filter_by(id=role_id).first()
|
||||
role = RightsRole.query.filter_by(id=role_id).first()
|
||||
# 获取权限列表的 id
|
||||
check_powers_list = [rp.id for rp in role.power]
|
||||
powers = Power.query.all() # 获取所有的权限
|
||||
powers = RightsPower.query.all() # 获取所有的权限
|
||||
# power_schema = PowerSchema2(many=True) # 用已继承 ma.ModelSchema 类的自定制类生成序列化类
|
||||
# 将所有的权限生产可序列化对象 json
|
||||
# powers = power_schema.dump(powers) # 生成可序列化对象
|
||||
@@ -193,14 +193,14 @@ class RolePower(Resource):
|
||||
power_list = res.power_ids.split(',')
|
||||
|
||||
""" 更新角色权限 """
|
||||
role = Role.query.filter_by(id=role_id).first()
|
||||
role = RightsRole.query.filter_by(id=role_id).first()
|
||||
power_id_list = []
|
||||
for p in role.power:
|
||||
power_id_list.append(p.id)
|
||||
powers = Power.query.filter(Power.id.in_(power_id_list)).all()
|
||||
powers = RightsPower.query.filter(RightsPower.id.in_(power_id_list)).all()
|
||||
for p in powers:
|
||||
role.power.remove(p)
|
||||
powers = Power.query.filter(Power.id.in_(power_list)).all()
|
||||
powers = RightsPower.query.filter(RightsPower.id.in_(power_list)).all()
|
||||
for p in powers:
|
||||
role.power.append(p)
|
||||
db.session.commit()
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 User
|
||||
from applications.models import CompanyUser
|
||||
|
||||
from . import users_api
|
||||
|
||||
@@ -22,11 +22,11 @@ class UserStatus(Resource):
|
||||
res = parser.parse_args()
|
||||
|
||||
if res.operate == 1:
|
||||
user = User.query.get(user_id)
|
||||
user = CompanyUser.query.get(user_id)
|
||||
user.enable = res.operate
|
||||
message = success_api(msg="启动成功")
|
||||
else:
|
||||
user = User.query.filter_by(id=res.user_id).update({"enable": res.operate})
|
||||
user = CompanyUser.query.filter_by(id=res.user_id).update({"enable": res.operate})
|
||||
message = success_api(msg="禁用成功")
|
||||
if user:
|
||||
db.session.commit()
|
||||
@@ -41,7 +41,7 @@ class UserAvatar(Resource):
|
||||
|
||||
def put(self, user_id):
|
||||
url = request.json.get("avatar").get("src")
|
||||
ret = User.query.get(user_id)
|
||||
ret = CompanyUser.query.get(user_id)
|
||||
ret.avatar = url
|
||||
db.session.commit()
|
||||
if not ret:
|
||||
@@ -62,7 +62,7 @@ class UserInfo(Resource):
|
||||
|
||||
res = parser.parse_args()
|
||||
|
||||
ret = User.query.get(user_id)
|
||||
ret = CompanyUser.query.get(user_id)
|
||||
ret.username = res.username
|
||||
ret.realname = res.real_name
|
||||
ret.remark = res.details
|
||||
@@ -89,7 +89,7 @@ class UserPassword(Resource):
|
||||
return fail_api(msg='确认密码不一致')
|
||||
|
||||
""" 修改当前用户密码 """
|
||||
user = User.query.get(user_id)
|
||||
user = CompanyUser.query.get(user_id)
|
||||
is_right = user.validate_password(res.oldPassword)
|
||||
if not is_right:
|
||||
return jsonify(success=False, msg="旧密码错误")
|
||||
|
||||
@@ -7,7 +7,7 @@ from sqlalchemy import desc
|
||||
from applications.extensions import db
|
||||
from applications.common.utils.http import fail_api, success_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.models import User, Role, Dept
|
||||
from applications.models import CompanyUser, RightsRole, CompanyDepartment
|
||||
from applications.models import AdminLog
|
||||
from . import users_api
|
||||
|
||||
@@ -15,26 +15,26 @@ from . import users_api
|
||||
def get_current_user_logs():
|
||||
""" 获取当前用户日志 """
|
||||
log = AdminLog.query.filter_by(url='/passport/login').filter_by(uid=current_user.id).order_by(
|
||||
desc(AdminLog.create_time)).limit(10)
|
||||
desc(AdminLog.create_at)).limit(10)
|
||||
return log
|
||||
|
||||
|
||||
def is_user_exists(username):
|
||||
""" 判断用户是否存在 """
|
||||
res = User.query.filter_by(username=username).count()
|
||||
res = CompanyUser.query.filter_by(username=username).count()
|
||||
return bool(res)
|
||||
|
||||
|
||||
def delete_by_id(_id):
|
||||
""" 删除用户 """
|
||||
user = User.query.filter_by(id=_id).first()
|
||||
user = CompanyUser.query.filter_by(id=_id).first()
|
||||
roles_id = []
|
||||
for role in user.role:
|
||||
roles_id.append(role.id)
|
||||
roles = Role.query.filter(Role.id.in_(roles_id)).all()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(roles_id)).all()
|
||||
for r in roles:
|
||||
user.role.remove(r)
|
||||
res = User.query.filter_by(id=_id).delete()
|
||||
res = CompanyUser.query.filter_by(id=_id).delete()
|
||||
db.session.commit()
|
||||
return res
|
||||
|
||||
@@ -46,14 +46,14 @@ def batch_remove(ids):
|
||||
|
||||
|
||||
def update_user_role(_id, roles_list):
|
||||
user = User.query.filter_by(id=_id).first()
|
||||
user = CompanyUser.query.filter_by(id=_id).first()
|
||||
roles_id = []
|
||||
for role in user.role:
|
||||
roles_id.append(role.id)
|
||||
roles = Role.query.filter(Role.id.in_(roles_id)).all()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(roles_id)).all()
|
||||
for r in roles:
|
||||
user.role.remove(r)
|
||||
roles = Role.query.filter(Role.id.in_(roles_list)).all()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(roles_list)).all()
|
||||
for r in roles:
|
||||
user.role.append(r)
|
||||
db.session.commit()
|
||||
@@ -77,17 +77,17 @@ class UserUsers(Resource):
|
||||
filters = []
|
||||
|
||||
if res.real_name:
|
||||
filters.append(User.realname.like('%' + res.real_name + '%'))
|
||||
filters.append(CompanyUser.realname.like('%' + res.real_name + '%'))
|
||||
if res.username:
|
||||
filters.append(User.username.like('%' + res.username + '%'))
|
||||
filters.append(CompanyUser.username.like('%' + res.username + '%'))
|
||||
if res.dept_id:
|
||||
filters.append(User.dept_id == res.dept_id)
|
||||
filters.append(CompanyUser.dept_id == res.dept_id)
|
||||
|
||||
paginate = User.query.filter(*filters).paginate(page=res.page,
|
||||
per_page=res.limit,
|
||||
error_out=False)
|
||||
paginate = CompanyUser.query.filter(*filters).paginate(page=res.page,
|
||||
per_page=res.limit,
|
||||
error_out=False)
|
||||
|
||||
dept_name = lambda dept_id: Dept.query.filter_by(id=dept_id).first().dept_name if dept_id else ""
|
||||
dept_name = lambda dept_id: CompanyDepartment.query.filter_by(id=dept_id).first().dept_name if dept_id else ""
|
||||
user_data = [{
|
||||
'id': item.id,
|
||||
'username': item.username,
|
||||
@@ -116,7 +116,7 @@ class UserUsers(Resource):
|
||||
if is_user_exists(res.username):
|
||||
return fail_api(msg="用户已经存在")
|
||||
|
||||
user = User()
|
||||
user = CompanyUser()
|
||||
user.username = res.username
|
||||
user.realname = res.real_name
|
||||
user.set_password(res.password)
|
||||
@@ -124,8 +124,8 @@ class UserUsers(Resource):
|
||||
db.session.commit()
|
||||
|
||||
""" 增加用户角色 """
|
||||
user = User.query.filter_by(id=user.id).first()
|
||||
roles = Role.query.filter(Role.id.in_(role_ids)).all()
|
||||
user = CompanyUser.query.filter_by(id=user.id).first()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(role_ids)).all()
|
||||
for r in roles:
|
||||
user.role.append(r)
|
||||
db.session.commit()
|
||||
@@ -160,7 +160,7 @@ class UserUser(Resource):
|
||||
if is_user_exists(res.username):
|
||||
return fail_api(msg="用户已经存在")
|
||||
|
||||
user = User()
|
||||
user = CompanyUser()
|
||||
user.username = res.username
|
||||
user.realname = res.real_name
|
||||
user.set_password(res.password)
|
||||
@@ -168,8 +168,8 @@ class UserUser(Resource):
|
||||
db.session.commit()
|
||||
|
||||
""" 增加用户角色 """
|
||||
user = User.query.filter_by(id=user.id).first()
|
||||
roles = Role.query.filter(Role.id.in_(role_ids)).all()
|
||||
user = CompanyUser.query.filter_by(id=user.id).first()
|
||||
roles = RightsRole.query.filter(RightsRole.id.in_(role_ids)).all()
|
||||
for r in roles:
|
||||
user.role.append(r)
|
||||
db.session.commit()
|
||||
@@ -200,7 +200,7 @@ class UserRole(Resource):
|
||||
role_ids = res.role_ids.split(',')
|
||||
|
||||
# 更新用户数据
|
||||
User.query.filter_by(id=user_id).update({'username': res.username,
|
||||
CompanyUser.query.filter_by(id=user_id).update({'username': res.username,
|
||||
'realname': res.real_name,
|
||||
'dept_id': res.dept_id})
|
||||
db.session.commit()
|
||||
|
||||
Reference in New Issue
Block a user