Просмотр исходного кода

[菜单][修改]:菜单升级

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
82662e12f4
2 измененных файлов: 23 добавлений и 10 удалений
  1. +1
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java
  2. +22
    -10
      mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java

+ 1
- 0
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) {


+ 22
- 10
mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java Просмотреть файл

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


Загрузка…
Отмена
Сохранить