diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java b/mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java index 684f78f7e..8ff4fc0bd 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java @@ -13,6 +13,7 @@ public enum EnumMenuType { ACCOUNT_MANAGER(7, "账号管理"), MOBILE_ADMIN(8, "移动端数据塔台"), HARDWARE(9, "智能硬件"), + PAGE_MAIN(10, "首页"), ; public static EnumMenuType getEnum(Integer code) { diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java index 068cbd4eb..375f8b83b 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java @@ -158,31 +158,43 @@ public class SysMenuController extends BaseController { List mallRolePermissionList = mallRolePermissionService.getList(qRP); boolean isOld = mallRolePermissionList.stream().allMatch( (rolePermission-> - (rolePermission.getPermissionId().longValue() <= (long)EnumMenuType.HARDWARE.getCode()) + (rolePermission.getPermissionId().longValue() <= (long)EnumMenuType.PAGE_MAIN.getCode()) ) ); + if(mallRolePermissionList.size() == 1) { + MallRolePermission mRP = mallRolePermissionList.get(0); + if(mRP.getPermissionId().longValue() == (long)EnumMenuType.MOBILE_ADMIN.getCode()) { + isOld = false; + } + if(mRP.getPermissionId().longValue() == (long)EnumMenuType.PAGE_MAIN.getCode()) { + isOld = false; + } + } if(isOld){ // 添加子权限给此role - List allList = new ArrayList<>(); + List pList = new ArrayList<>(); + // 默认用户添加首页 + pList.add(Long.valueOf(EnumMenuType.PAGE_MAIN.getCode())); + // 添加原有子菜单 for(MallRolePermission mRP: mallRolePermissionList) { - List pList = new ArrayList<>(); // 原有权限 pList.add(mRP.getPermissionId()); // 二级菜单 - List subList1 = mallPermissionService.getByParentId(mRP.getPermissionId()); - for(MallPermission mp: subList1) { + List subList2 = mallPermissionService.getByParentId(mRP.getPermissionId()); + for(MallPermission mp: subList2) { pList.add(mp.getId()); // 三级菜单 - List subList2 = mallPermissionService.getByParentId(mRP.getPermissionId()); - if(subList2.size() > 0) { - subList2.stream().forEach(smp->{ + List subList3 = mallPermissionService.getByParentId(mp.getId()); + if(subList3.size() > 0) { + subList3.stream().forEach(smp->{ pList.add(smp.getId()); }); } } - List dpList = pList.stream().distinct().collect(Collectors.toList()); - allList.addAll(dpList); } + List allList = new ArrayList<>(); + List dpList = pList.stream().distinct().collect(Collectors.toList()); + allList.addAll(dpList); Long[] idArray = new Long[allList.size()]; allList.toArray(idArray); mallRolePermissionService.savePermissions(mallRole.getTenantId(), mallRole.getId(), idArray);