|
|
|
@@ -158,31 +158,43 @@ public class SysMenuController extends BaseController { |
|
|
|
List<MallRolePermission> 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<Long> allList = new ArrayList<>(); |
|
|
|
List<Long> pList = new ArrayList<>(); |
|
|
|
// 默认用户添加首页 |
|
|
|
pList.add(Long.valueOf(EnumMenuType.PAGE_MAIN.getCode())); |
|
|
|
// 添加原有子菜单 |
|
|
|
for(MallRolePermission mRP: mallRolePermissionList) { |
|
|
|
List<Long> pList = new ArrayList<>(); |
|
|
|
// 原有权限 |
|
|
|
pList.add(mRP.getPermissionId()); |
|
|
|
// 二级菜单 |
|
|
|
List<MallPermission> subList1 = mallPermissionService.getByParentId(mRP.getPermissionId()); |
|
|
|
for(MallPermission mp: subList1) { |
|
|
|
List<MallPermission> subList2 = mallPermissionService.getByParentId(mRP.getPermissionId()); |
|
|
|
for(MallPermission mp: subList2) { |
|
|
|
pList.add(mp.getId()); |
|
|
|
// 三级菜单 |
|
|
|
List<MallPermission> subList2 = mallPermissionService.getByParentId(mRP.getPermissionId()); |
|
|
|
if(subList2.size() > 0) { |
|
|
|
subList2.stream().forEach(smp->{ |
|
|
|
List<MallPermission> subList3 = mallPermissionService.getByParentId(mp.getId()); |
|
|
|
if(subList3.size() > 0) { |
|
|
|
subList3.stream().forEach(smp->{ |
|
|
|
pList.add(smp.getId()); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
List<Long> dpList = pList.stream().distinct().collect(Collectors.toList()); |
|
|
|
allList.addAll(dpList); |
|
|
|
} |
|
|
|
List<Long> allList = new ArrayList<>(); |
|
|
|
List<Long> 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); |
|
|
|
|