【手机端】角色赋权APP权限整改完成

This commit is contained in:
weizhiqiang 2022-07-28 23:19:19 +08:00
parent 307df1ad08
commit ef0fcd30ad
4 changed files with 48 additions and 40 deletions

View file

@ -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);

View file

@ -224,10 +224,6 @@ public class SysEveRoleServiceImpl implements SysEveRoleService {
public void querySysRoleBandAppMenuList(InputObject inputObject, OutputObject outputObject) {
Map<String, Object> map = inputObject.getParams();
List<Map<String, Object>> beans = sysEveRoleDao.querySysRoleBandAppMenuList(map);
for (Map<String, Object> 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<String, Object> map = inputObject.getParams();
List<Map<String, Object>> beans = new ArrayList<>();
List<Map<String, Object>> beanp = new ArrayList<>();
String[] menuIds = map.get("menuIds").toString().split(",");
if (menuIds.length > 0) {
String roleId = map.get("id").toString();
// 桌面模块信息以及菜单页面信息
List<Map<String, Object>> menuList = new ArrayList<>();
for (String str : menuIds) {
Map<String, Object> 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<Map<String, Object>> authPointList = new ArrayList<>();
String[] pointIds = map.get("pointIds").toString().split(",");
if (pointIds.length > 0) {
for (String str : pointIds) {
Map<String, Object> 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("请选择该角色即将拥有的权限!");
}

View file

@ -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
</select>
<select id="querySysRoleAppMenuIdByRoleId" parameterType="java.util.Map" resultType="java.util.Map">

View file

@ -353,16 +353,9 @@
<property id="page" name="page" ref="required,num" var="分页参数,第几页"/>
<property id="userName" name="userName" ref="" var="员工姓名" />
</url>
<url id="sys037" path="/post/SysEveRoleController/querySysRoleBandAppMenuList" val="获取角色需要绑定的手机端菜单列表" allUse="2" method="GET" groupName="系统管理">
</url>
<url id="sys038" path="/post/SysEveRoleController/querySysRoleToAppMenuEditById" val="手机端菜单授权时的信息回显" allUse="2" groupName="系统管理">
<property id="rowId" name="id" ref="required" var="角色ID"/>
</url>
<url id="sys039" path="/post/SysEveRoleController/editSysRoleAppMenuById" val="手机端菜单授权" allUse="2" groupName="系统管理">
<property id="menuIds" name="menuIds" ref="required" var="菜单权限"/>
<property id="pointIds" name="pointIds" ref="" var="权限点"/>
<property id="rowId" name="id" ref="required" var="角色ID"/>
</url>
<url id="sys040" path="/post/SysEveMenuController/querySysEveMenuBySysId" val="系统菜单详情" allUse="2" groupName="系统管理">
<property id="rowId" name="id" ref="required" var="菜单ID"/>
</url>