Commit 2597d9c3 authored by 廖旭伟's avatar 廖旭伟

角色分配权限接口调整

parent 5cbffd83
...@@ -692,6 +692,19 @@ data|object|数据对象 ...@@ -692,6 +692,19 @@ data|object|数据对象
**简要描述:** 查询数据管理 **简要描述:** 查询数据管理
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
roleId|Long|是|角色id
**请求样例:**
```
{
"roleId":2
}
```
**响应参数:** **响应参数:**
...@@ -700,26 +713,47 @@ data|object|数据对象 ...@@ -700,26 +713,47 @@ data|object|数据对象
code|Integer|结果码(-1.失败,1.成功) code|Integer|结果码(-1.失败,1.成功)
msg|String|消息 msg|String|消息
data|object|数据对象 data|object|数据对象
 menu|Arrays|所有菜单
 sjgl|Arrays|当前用户已分配的数据管理权限
 zdbp|Arrays|当前用户已分配的站点编排权限
 sjjs|Arrays|当前用户已分配的数据精算权限
 ptsz|Arrays|当前用户已分配的平台设置权限
**响应消息样例:** **响应消息样例:**
``` ```
{ {
"code": 1, "code": 1,
"data": [ "data": {
"zdbp": [
23,
26,
27
],
"sjjs": [
6
],
"sjgl": [
1,
2
],
"menu": [
{ {
"childList": [ "childList": [
{ {
"nodeId": 1, "nodeId": 1,
"nodeName": "测试", "nodeName": "测试",
"nodeType": 1,
"parentId": 1 "parentId": 1
}, },
{ {
"nodeId": 2, "nodeId": 2,
"nodeName": "测试zzz", "nodeName": "测试zzz",
"nodeType": 1,
"parentId": 1 "parentId": 1
} }
], ],
"nodeId": 1, "nodeId": 1,
"nodeName": "数据管理", "nodeName": "数据管理",
"nodeType": 3,
"parentId": -1 "parentId": -1
}, },
{ {
...@@ -727,21 +761,31 @@ data|object|数据对象 ...@@ -727,21 +761,31 @@ data|object|数据对象
{ {
"nodeId": 23, "nodeId": 23,
"nodeName": "基础设置平台", "nodeName": "基础设置平台",
"nodeType": 2,
"parentId": 2 "parentId": 2
}, },
{ {
"nodeId": 26, "nodeId": 26,
"nodeName": "排号系统", "nodeName": "排号系统",
"nodeType": 2,
"parentId": 2 "parentId": 2
}, },
{ {
"nodeId": 27, "nodeId": 27,
"nodeName": "易政秀", "nodeName": "易政秀",
"nodeType": 2,
"parentId": 2
},
{
"nodeId": 28,
"nodeName": "设备管理系统",
"nodeType": 2,
"parentId": 2 "parentId": 2
} }
], ],
"nodeId": 2, "nodeId": 2,
"nodeName": "站点编排", "nodeName": "站点编排",
"nodeType": 3,
"parentId": -1 "parentId": -1
}, },
{ {
...@@ -749,46 +793,55 @@ data|object|数据对象 ...@@ -749,46 +793,55 @@ data|object|数据对象
{ {
"nodeId": 5, "nodeId": 5,
"nodeName": "业务数据分析", "nodeName": "业务数据分析",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 6, "nodeId": 6,
"nodeName": "用户画像图谱", "nodeName": "用户画像图谱",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 7, "nodeId": 7,
"nodeName": "企业画像图谱", "nodeName": "企业画像图谱",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 8, "nodeId": 8,
"nodeName": "使用行为分析", "nodeName": "使用行为分析",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 9, "nodeId": 9,
"nodeName": "数据汇聚一张图", "nodeName": "数据汇聚一张图",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 10, "nodeId": 10,
"nodeName": "数据预处理", "nodeName": "数据预处理",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 11, "nodeId": 11,
"nodeName": "数据仓库", "nodeName": "数据仓库",
"nodeType": 3,
"parentId": 3 "parentId": 3
}, },
{ {
"nodeId": 12, "nodeId": 12,
"nodeName": "数据开放门户", "nodeName": "数据开放门户",
"nodeType": 3,
"parentId": 3 "parentId": 3
} }
], ],
"nodeId": 3, "nodeId": 3,
"nodeName": "数据精算", "nodeName": "数据精算",
"nodeType": 3,
"parentId": -1 "parentId": -1
}, },
{ {
...@@ -796,49 +849,62 @@ data|object|数据对象 ...@@ -796,49 +849,62 @@ data|object|数据对象
{ {
"nodeId": 13, "nodeId": 13,
"nodeName": "RBAC用户-权限模型", "nodeName": "RBAC用户-权限模型",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 14, "nodeId": 14,
"nodeName": "API服务", "nodeName": "API服务",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 15, "nodeId": 15,
"nodeName": "应用服务", "nodeName": "应用服务",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 16, "nodeId": 16,
"nodeName": "产品管理", "nodeName": "产品管理",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 17, "nodeId": 17,
"nodeName": "菜单管理", "nodeName": "菜单管理",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 18, "nodeId": 18,
"nodeName": "消息服务", "nodeName": "消息服务",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 19, "nodeId": 19,
"nodeName": "字典管理", "nodeName": "字典管理",
"nodeType": 3,
"parentId": 4 "parentId": 4
}, },
{ {
"nodeId": 20, "nodeId": 20,
"nodeName": "日志服务", "nodeName": "日志服务",
"nodeType": 3,
"parentId": 4 "parentId": 4
} }
], ],
"nodeId": 4, "nodeId": 4,
"nodeName": "平台设置", "nodeName": "平台设置",
"nodeType": 3,
"parentId": -1 "parentId": -1
} }
],
"ptsz": [
15
] ]
}
} }
``` ```
......
...@@ -10,11 +10,12 @@ import com.mortals.xhx.module.menu.model.MenuEntity; ...@@ -10,11 +10,12 @@ import com.mortals.xhx.module.menu.model.MenuEntity;
import com.mortals.xhx.module.menu.model.vo.MenuNodeVO; import com.mortals.xhx.module.menu.model.vo.MenuNodeVO;
import com.mortals.xhx.module.menu.service.MenuService; import com.mortals.xhx.module.menu.service.MenuService;
import com.mortals.xhx.module.param.service.ParamService; import com.mortals.xhx.module.param.service.ParamService;
import com.mortals.xhx.module.role.model.RoleAuthEntity;
import com.mortals.xhx.module.role.model.RoleAuthQuery;
import com.mortals.xhx.module.role.service.RoleAuthService;
import com.mortals.xhx.module.role.service.RoleModelService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -33,6 +34,10 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic ...@@ -33,6 +34,10 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private RoleAuthService roleAuthService;
@Autowired
private RoleModelService roleModelService;
public MenuController() { public MenuController() {
super.setModuleDesc("菜单信息业务"); super.setModuleDesc("菜单信息业务");
...@@ -134,12 +139,23 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic ...@@ -134,12 +139,23 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic
* 查询所有可用菜单(树) * 查询所有可用菜单(树)
*/ */
@PostMapping(value = "list/tree") @PostMapping(value = "list/tree")
public String getMenuList() { public String getMenuList(@RequestBody RoleAuthEntity roleAuthEntity) {
JSONObject ret = new JSONObject(); JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
try { try {
if(roleAuthEntity.getRoleId()==null){
throw new AppException("角色Id不能为空");
}
List<MenuNodeVO> menuEntityList = this.service.getMenuList(); List<MenuNodeVO> menuEntityList = this.service.getMenuList();
ret.put(KEY_RESULT_DATA,menuEntityList); Map<String,Object> data = new HashMap<>();
data.put("menu",menuEntityList);
Map<String,List<Long>> models = roleModelService.getRoleModelByRole(roleAuthEntity.getRoleId());
data.put("zdbp",models.get("modelIds"));
data.put("sjgl",models.get("censusIds"));
Map<Long,List<Long>> menus = roleAuthService.getMenuIdByRole(roleAuthEntity.getRoleId());
data.put("sjjs",menus.get(3l));
data.put("ptsz",menus.get(4l));
ret.put(KEY_RESULT_DATA,data);
} catch (Exception e) { } catch (Exception e) {
log.error("更新错误", e); log.error("更新错误", e);
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE); ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
......
...@@ -4,6 +4,9 @@ import com.mortals.framework.service.ICRUDService; ...@@ -4,6 +4,9 @@ import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.role.model.RoleAuthEntity; import com.mortals.xhx.module.role.model.RoleAuthEntity;
import com.mortals.xhx.module.role.model.RoleAuthQuery; import com.mortals.xhx.module.role.model.RoleAuthQuery;
import java.util.List;
import java.util.Map;
/** /**
* RoleAuthService * RoleAuthService
* <p> * <p>
...@@ -18,4 +21,11 @@ public interface RoleAuthService extends ICRUDService<RoleAuthEntity, Long> { ...@@ -18,4 +21,11 @@ public interface RoleAuthService extends ICRUDService<RoleAuthEntity, Long> {
* 角色分配菜单资源 * 角色分配菜单资源
*/ */
void assignMenu(RoleAuthQuery query); void assignMenu(RoleAuthQuery query);
/**
* 用户拥有的模块
* @param userId
* @return
*/
Map<Long,List<Long>> getMenuIdByRole(Long userId);
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.mortals.xhx.module.role.service; ...@@ -2,6 +2,7 @@ package com.mortals.xhx.module.role.service;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.role.model.RoleModelEntity; import com.mortals.xhx.module.role.model.RoleModelEntity;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -26,4 +27,15 @@ public interface RoleModelService extends ICRUDService<RoleModelEntity,Long>{ ...@@ -26,4 +27,15 @@ public interface RoleModelService extends ICRUDService<RoleModelEntity,Long>{
* @return * @return
*/ */
Map<Long,Long> getModelCensusByUserId(Long userId); Map<Long,Long> getModelCensusByUserId(Long userId);
/**
* 获取角色拥有的模块权限
* @param roleId
* @return
*/
Map<String, List<Long>> getRoleModelByRole(Long roleId);
int deleteByRoleId(Long roleId);
} }
\ No newline at end of file
...@@ -7,11 +7,11 @@ import com.mortals.xhx.module.menu.model.MenuEntity; ...@@ -7,11 +7,11 @@ import com.mortals.xhx.module.menu.model.MenuEntity;
import com.mortals.xhx.module.menu.model.MenuQuery; import com.mortals.xhx.module.menu.model.MenuQuery;
import com.mortals.xhx.module.menu.service.MenuService; import com.mortals.xhx.module.menu.service.MenuService;
import com.mortals.xhx.module.role.dao.RoleAuthDao; import com.mortals.xhx.module.role.dao.RoleAuthDao;
import com.mortals.xhx.module.role.model.RoleAuthEntity; import com.mortals.xhx.module.role.model.*;
import com.mortals.xhx.module.role.model.RoleAuthQuery;
import com.mortals.xhx.module.role.model.RoleModelEntity;
import com.mortals.xhx.module.role.service.RoleAuthService; import com.mortals.xhx.module.role.service.RoleAuthService;
import com.mortals.xhx.module.role.service.RoleModelService; import com.mortals.xhx.module.role.service.RoleModelService;
import com.mortals.xhx.module.role.service.RoleUserService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -26,6 +26,8 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -26,6 +26,8 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
private MenuService menuService; private MenuService menuService;
@Autowired @Autowired
private RoleModelService roleModelService; private RoleModelService roleModelService;
@Autowired
private RoleUserService roleUserService;
@Override @Override
public void assignMenu(RoleAuthQuery query) { public void assignMenu(RoleAuthQuery query) {
...@@ -48,9 +50,9 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -48,9 +50,9 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
}).collect(Collectors.toList()); }).collect(Collectors.toList());
this.save(list); this.save(list);
roleModelService.deleteByRoleId(roleId);
RoleModelEntity update = new RoleModelEntity(); RoleModelEntity update = new RoleModelEntity();
update.setRoleId(roleId); update.setRoleId(roleId);
roleModelService.remove(update,null);
update.setModelIds(query.getModelIds()); update.setModelIds(query.getModelIds());
update.setCensusIds(query.getCensusIds()); update.setCensusIds(query.getCensusIds());
roleModelService.save(update); roleModelService.save(update);
...@@ -67,4 +69,31 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -67,4 +69,31 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
} }
} }
@Override
public Map<Long,List<Long>> getMenuIdByRole(Long roleId) {
RoleAuthQuery condition = new RoleAuthQuery();
condition.setRoleId(roleId);
List<RoleAuthEntity> roleModelEntities = this.find(condition);
if(CollectionUtils.isNotEmpty(roleModelEntities)) {
List<Long> menuIds = roleModelEntities.stream().map(RoleAuthEntity::getMenuId).collect(Collectors.toList());
MenuQuery query1 = new MenuQuery();
query1.setIdList(menuIds);
List<MenuEntity> menuEntities = menuService.find(query1);
Map<Long,List<Long>> map = new HashMap<>();
menuEntities.forEach(m->{
if(map.containsKey(m.getParentId())){
map.get(m.getParentId()).add(m.getId());
}else {
List<Long> menuIdList = new ArrayList<>();
menuIdList.add(m.getId());
map.put(m.getParentId(),menuIdList);
}
});
return map;
}else {
return Collections.emptyMap();
}
}
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import com.mortals.xhx.module.role.model.RoleUserEntity; ...@@ -6,6 +6,7 @@ import com.mortals.xhx.module.role.model.RoleUserEntity;
import com.mortals.xhx.module.role.service.RoleUserService; import com.mortals.xhx.module.role.service.RoleUserService;
import com.mortals.xhx.module.user.model.UserEntity; import com.mortals.xhx.module.user.model.UserEntity;
import com.mortals.xhx.module.user.service.UserService; import com.mortals.xhx.module.user.service.UserService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
...@@ -57,6 +58,26 @@ public class RoleModelServiceImpl extends AbstractCRUDServiceImpl<RoleModelDao, ...@@ -57,6 +58,26 @@ public class RoleModelServiceImpl extends AbstractCRUDServiceImpl<RoleModelDao,
return map; return map;
} }
@Override
public Map<String, List<Long>> getRoleModelByRole(Long roleId) {
RoleModelQuery condition = new RoleModelQuery();
condition.setRoleId(roleId);
List<RoleModelEntity> roleModelEntities = this.find(condition);
Map<String, List<Long>> map = new HashMap<>();
if(CollectionUtils.isNotEmpty(roleModelEntities)){
List<String> censusIds = StringUtils.converStr2List(roleModelEntities.get(0).getCensusIds());
List<Long> ids = censusIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
List<String> modelIds = StringUtils.converStr2List(roleModelEntities.get(0).getModelIds());
List<Long> idsm = modelIds.stream().map(s -> DataUtil.converStr2Long(s.trim(),0)).collect(Collectors.toList());
map.put("censusIds",ids);
map.put("modelIds",idsm);
}else {
map.put("censusIds",Collections.emptyList());
map.put("modelIds",Collections.emptyList());
}
return map;
}
private List<RoleModelEntity> getListByUser(Long userId){ private List<RoleModelEntity> getListByUser(Long userId){
RoleUserEntity query = new RoleUserEntity(); RoleUserEntity query = new RoleUserEntity();
query.setUserId(userId); query.setUserId(userId);
...@@ -70,4 +91,11 @@ public class RoleModelServiceImpl extends AbstractCRUDServiceImpl<RoleModelDao, ...@@ -70,4 +91,11 @@ public class RoleModelServiceImpl extends AbstractCRUDServiceImpl<RoleModelDao,
List<RoleModelEntity> roleModelEntities = this.find(condition); List<RoleModelEntity> roleModelEntities = this.find(condition);
return roleModelEntities; return roleModelEntities;
} }
@Override
public int deleteByRoleId(Long roleId) {
Map<String, Object> condition = new HashMap<>();
condition.put("roleId", roleId);
return this.dao.delete(condition);
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment