统一角色分析----做法.md

帐号 1

linjinyu
林进雨
18938773714
角色名称 : 超级管理员; 用户角色 : 系统管理员
密码:A1b2c3d4

帐号2

楼宇之窗运营中心
深圳航空大厦;
linjinyu-xmgly
林进雨-项目管理员
13422832497
角色名称 : 航空大厦-项目管理员,深圳航空大厦-项目管理员; 用户角色 : 项目管理员
密码:A1b2c3d4

楼宇之窗运营中心
深圳航空大厦;
linjinyu-xmgly2
林进雨-项目管理员2
13422832496
角色名称 : 航空大厦-项目管理员,深圳航空大厦-项目管理员; 用户角色 : 项目管理员
密码:A1b2c3d42

蓝本角色 - org_id - -1
通用角色 - org_id - 0

SELECT * FROM tb_app_role
WHERE name like '蓝本角色 - %'
ORDER BY tb_app_role.org_id ASC

深圳航空大厦

电子通行证

说明 ## 代表关键 页面操作 或 后端程序

系统管理 - 基础权限设置 改为 系统权限设置

http://www.superdesk.cn/#/platform/baseauth/index
首页/ 系统管理 / 基础权限设置
页面加载数据修改
http://www.superdesk.cn/api/web/role/gettypelist

系统角色类型 子 读取 接口 运营中心 项目 为0

前端 添加操作
新增接口

添加角色时
floor_repair = 3

if (type == GlobalConstant.UserType.EROC_MANAGE_TYPE.type) {

role.setName(companyName + "-运营中心管理员");
role.setDescription("运营中心管理员");

} else if (type == GlobalConstant.UserType.MERCHANT_TYPE.type) {

role.setName(companyName + "-商户");
role.setDescription("商户");

} else if (type == GlobalConstant.UserType.BUSINESS_MANAGE_TYPE.type) {

role.setName(companyName + "-运营商");
role.setDescription("运营商");

} else if (type == GlobalConstant.UserType.DIS_MANAGER_TYPE.type) {

role.setName(companyName + "-渠道商");
role.setDescription("渠道商");

}
role.setType(type);系统角色类型
role.setCreatedBy(entity.getCreatedBy());
role.setIsInit(1);
role.setFloorRepair(3);
role.setStatus(1);

接口

读当前权限要弃用
http://www.superdesk.cn/api/web/role/roleType/{roleType}
改成 roleId
http://www.superdesk.cn/api/web/role/role/{roleId}

多开一个表记录 角色(tb_app_role) x 服务(tb_service_type_info) tb_app_role_service

CREATE TABLE tb_service_app_role_config (
id int(10) NOT NULL AUTO_INCREMENT,
role_id int(10) DEFAULT NULL COMMENT 'tb_app_role.id',
service_id int(10) DEFAULT NULL COMMENT 'tb_service_type_info.id',
created_by int(10) DEFAULT NULL COMMENT '创建人',
created_at datetime DEFAULT NULL COMMENT '创建时间',
updated_by int(10) DEFAULT NULL COMMENT '修改人',
updated_at datetime DEFAULT NULL COMMENT '修改时间',
enabled tinyint(3) DEFAULT '1' COMMENT '是否有效1-有效0无效',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务x角色 一对一 用于统一角色配置 项目普通管理员';

保存时 角色权限一个表单 角色服务一个表单 (角色对服务只能单选)

系统管理 - 管理用户配置

添加角色类型 条件过滤

  1. 按当前登陆 角色类型 返回 可管理 角色类型下拉数据 ---- 新增接口

http://www.superdesk.cn/api/web/role/gettypelist

{
  "code": 200,
  "data": [
    {
      "label": "系统管理员",
      "value": "2",
      "options": []
    },
    {
      "label": "项目管理员",
      "value": "3",
      "options": []
    },
    {
      "label": "项目普通管理员",
      "value": "4",
      "options": []
    },
    {
      "label": "运营中心管理员",
      "value": "6",
      "options": []
    },
    {
      "label": "运营中心普通管理员",
      "value": "7",
      "options": []
    },
    {
      "label": "运营商管理员",
      "value": "20",
      "options": []
    },
    {
      "label": "渠道商管理员",
      "value": "21",
      "options": []
    },
    {
      "label": "运营商操作员",
      "value": "22",
      "options": []
    },
    {
      "label": "渠道商操作员",
      "value": "23",
      "options": []
    }
  ]
}

管理用户配置 修改 项目普通管理员 系统角色 操作 添加系统角色(dialog) 左边列表 添加系统级角色

新问题 如果这个项目 没有开通某些服务 在这个操作时是不能看这些通用角色的

还是不要去改sql了 用的地方太多了, 再联多两个表去查 太不划算了 得到结果集再去过滤吧 TODO

http://www.superdesk.cn/api/web/role/roleList
companyId=1&orgId=615

http://www.superdesk.cn/api/web/role/getRoleFloorOrRepair
type=4

角色带出的楼层或维修类型

tb_app_role
floor_repair 1,2 楼层 (会议室楼层, 全楼层)? 3?无 4维修类型

floorRepairArr:[
    {value:3,label:'无'},
    {value:1,label:'会议室楼层'},
    {value:2,label:'全楼层'},
    {value:4,label:'维修类型'}
],

服务上下架

  1. 修正 上下架时 以系统角色类型(项目管理员) 读权限权 已修正
  2. 补充 下架时 以项目普通管理员 查 服务 x 角色 => 系统角色 => 查这个项目下用户的角色类型为----项目普通管理员(得到user_id集合) => 查出 tb_app_user_role user_id 集合存在 role_id 存在的记录删除
  3. 补充 上架时 以项目普通管理员 查 服务 x 角色 => 系统角色 => 查这个项目下用户的角色类型为----项目普通管理员(得到user_id集合) => 插入 tb_app_user_role iterator user_id 集合 role_id

细化

先通过 serviceTypeInfoId 查到 服务 x 角色 得出通用角色 ids 集合

serviceAppRoleConfigService.getAppRoleByServiceTypeId(serviceTypeInfoId)

请先后发表评论
  • 最新评论
  • 总共0条评论