diff --git a/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/controller/SysEveRoleController.java b/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/controller/SysEveRoleController.java index 046d0261..c71178f3 100644 --- a/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/controller/SysEveRoleController.java +++ b/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/controller/SysEveRoleController.java @@ -132,6 +132,7 @@ public class SysEveRoleController { * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ + @ApiOperation(id = "sys037", value = "获取角色需要绑定的手机端菜单列表", method = "GET", allUse = "2") @RequestMapping("/post/SysEveRoleController/querySysRoleBandAppMenuList") public void querySysRoleBandAppMenuList(InputObject inputObject, OutputObject outputObject) { sysEveRoleService.querySysRoleBandAppMenuList(inputObject, outputObject); @@ -154,6 +155,11 @@ public class SysEveRoleController { * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ + @ApiOperation(id = "sys039", value = "手机端菜单授权", method = "POST", allUse = "2") + @ApiImplicitParams({ + @ApiImplicitParam(id = "menuIds", name = "menuIds", value = "菜单权限", required = "required"), + @ApiImplicitParam(id = "pointIds", name = "pointIds", value = "权限点"), + @ApiImplicitParam(id = "id", name = "id", value = "角色ID", required = "required")}) @RequestMapping("/post/SysEveRoleController/editSysRoleAppMenuById") public void editSysRoleAppMenuById(InputObject inputObject, OutputObject outputObject) { sysEveRoleService.editSysRoleAppMenuById(inputObject, outputObject); diff --git a/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/service/impl/SysEveRoleServiceImpl.java b/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/service/impl/SysEveRoleServiceImpl.java index a1c53cd3..475a7daa 100644 --- a/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/service/impl/SysEveRoleServiceImpl.java +++ b/skyeye-promote/skyeye-userauth/src/main/java/com/skyeye/eve/service/impl/SysEveRoleServiceImpl.java @@ -224,10 +224,6 @@ public class SysEveRoleServiceImpl implements SysEveRoleService { public void querySysRoleBandAppMenuList(InputObject inputObject, OutputObject outputObject) { Map map = inputObject.getParams(); List> beans = sysEveRoleDao.querySysRoleBandAppMenuList(map); - for (Map bean : beans) { - String[] str = bean.get("pId").toString().split(","); - bean.put("pId", str[str.length - 1]); - } outputObject.setBeans(beans); } @@ -257,35 +253,39 @@ public class SysEveRoleServiceImpl implements SysEveRoleService { @Transactional(value = "transactionManager", rollbackFor = Exception.class) public void editSysRoleAppMenuById(InputObject inputObject, OutputObject outputObject) { Map map = inputObject.getParams(); - List> beans = new ArrayList<>(); - List> beanp = new ArrayList<>(); String[] menuIds = map.get("menuIds").toString().split(","); if (menuIds.length > 0) { + String roleId = map.get("id").toString(); + // 桌面模块信息以及菜单页面信息 + List> menuList = new ArrayList<>(); for (String str : menuIds) { Map item = new HashMap<>(); item.put("id", ToolUtil.getSurFaceId()); - item.put("roleId", map.get("id").toString()); + item.put("roleId", roleId); item.put("menuId", str); - beans.add(item); + menuList.add(item); } - sysEveRoleDao.deleteRoleAppMenuByRoleId(map);//删除角色菜单关联表信息 - sysEveRoleDao.insertSysRoleAppMenuMation(beans); + sysEveRoleDao.deleteRoleAppMenuByRoleId(map); + sysEveRoleDao.insertSysRoleAppMenuMation(menuList); + // 权限点信息以及数据权限信息 + List> authPointList = new ArrayList<>(); String[] pointIds = map.get("pointIds").toString().split(","); if (pointIds.length > 0) { for (String str : pointIds) { Map item = new HashMap<>(); item.put("id", ToolUtil.getSurFaceId()); - item.put("roleId", map.get("id").toString()); + item.put("roleId", roleId); item.put("pointId", str); - beanp.add(item); + authPointList.add(item); } } - sysEveRoleDao.deleteRoleAppPointByRoleId(map);//删除角色权限点关联表信息 - if (!beanp.isEmpty()) { - sysEveRoleDao.insertSysRoleAppPointMation(beanp); + sysEveRoleDao.deleteRoleAppPointByRoleId(map); + if (!authPointList.isEmpty()) { + sysEveRoleDao.insertSysRoleAppPointMation(authPointList); } - this.deleteAPPRoleCache(map.get("id").toString()); + // 删除角色关联的APP菜单信息 + this.deleteAPPRoleCache(roleId); } else { outputObject.setreturnMessage("请选择该角色即将拥有的权限!"); } diff --git a/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysEveRoleMapper.xml b/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysEveRoleMapper.xml index 2e9eff54..523a128d 100644 --- a/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysEveRoleMapper.xml +++ b/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysEveRoleMapper.xml @@ -164,33 +164,42 @@ (SELECT a.id, a.title name, - a.parent_id pId, - CASE (SELECT COUNT(*) FROM app_workbench_page c WHERE c.state != 4 AND CASE a.parent_id WHEN '0' THEN CONCAT(a.id, ',') ELSE CONCAT(a.parent_id, a.id, ',') END = c.parent_id) - WHEN '0' THEN false ELSE true END isParent, - 'false' open, - CASE (select parent_id from app_workbench_page where a.id = id) WHEN '0' THEN '目录' - ELSE '菜单' END appType, - '手机端' sysName, - 'menu' type + CASE a.parent_id WHEN '0' THEN a.desktop_id ELSE a.parent_id END pId, + c.desktop_name sysName, + CASE (select parent_id from app_workbench_page where a.id = id) WHEN '0' THEN '目录' ELSE '页面' END pageType, + 'page' type FROM app_workbench_page a - WHERE a.state != 4 + LEFT JOIN sys_eve_desktop c ON a.desktop_id = c.id ORDER BY a.order_by ASC) m - UNION + UNION ALL SELECT a.id, a.title name, - a.page_id pId, - false isParent, - 'false' open, - '权限点' appType, - '手机端' sysName, - 'authpoint' type + CASE a.parent_id WHEN '0' THEN a.page_id ELSE a.parent_id END pId, + c.desktop_name sysName, + CASE a.type WHEN '1' THEN '权限点' WHEN '2' THEN '数据权限分组' WHEN '3' THEN '数据权限' ELSE '' END pageType, + 'authPoint' type FROM app_workbench_page_auth a, app_workbench_page b + LEFT JOIN sys_eve_desktop c ON b.desktop_id = c.id WHERE a.page_id = b.id - AND b.state != 4 + UNION ALL + SELECT + * + FROM + (SELECT + a.id, + a.desktop_name name, + '0' pId, + '基础系统' sysName, + '桌面' pageType, + 'page' type + FROM + sys_eve_desktop a + WHERE a.state != '0' + ORDER BY a.order_by DESC) k