Pārlūkot izejas kodu

山东师范配置文件修改

wangliang 3 gadi atpakaļ
vecāks
revīzija
97fab89c0b

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/MenuDto.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.enums.PrivilegeEnum;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * @Date: 2021/4/13.
@@ -55,7 +56,7 @@ public class MenuDto implements Serializable {
     }
 
     public Long getParentId() {
-        return parentId;
+        return Objects.isNull(parentId) ? -1L : parentId;
     }
 
     public void setParentId(Long parentId) {

+ 29 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserRoleServiceImpl.java

@@ -85,7 +85,6 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
             menuDtoList = this.baseMapper.listByUserId(sysUser.getId(), Objects.isNull(sysUser.getSchoolId()) ? (Long) ServletUtil.getRequestSchoolByNotVaild() : sysUser.getSchoolId());
         }
         LinkedMultiValueMap<Long, MenuDto> linkedMultiValueMap = new LinkedMultiValueMap<>();
-//        LinkedMultiValueMap<PrivilegeEnum, MenuDto> privilegeEnumMenuDtoLinkedMultiValueMap = new LinkedMultiValueMap<>();
         List<MenuPrivilegeDto> menuPrivilegeDtoList = new ArrayList<>();
         Gson gson = new Gson();
         for (MenuDto m : menuDtoList) {
@@ -101,7 +100,35 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
                 }
             }
         }
-//        Set<Long> keySet = linkedMultiValueMap.keySet();
+        for (MenuPrivilegeDto m : menuPrivilegeDtoList) {
+            List<MenuDto> menuDtos = linkedMultiValueMap.get(m.getId());
+            List<MenuDto> urls = null, buttons = null, links = null, lists = null, conditions = null;
+            if (Objects.nonNull(menuDtos)) {
+                for (MenuDto menuDto : menuDtos) {
+                    if (menuDto.getType() == PrivilegeEnum.BUTTON) {
+                        buttons = Objects.isNull(buttons) ? new ArrayList<>() : buttons;
+                        buttons.add(gson.fromJson(gson.toJson(menuDto), MenuPrivilegeDto.class));
+                        m.setButtons(buttons);
+                    } else if (menuDto.getType() == PrivilegeEnum.LINK) {
+                        links = Objects.isNull(links) ? new ArrayList<>() : links;
+                        links.add(gson.fromJson(gson.toJson(menuDto), MenuPrivilegeDto.class));
+                        m.setLinks(links);
+                    } else if (menuDto.getType() == PrivilegeEnum.URL) {
+                        urls = Objects.isNull(urls) ? new ArrayList<>() : urls;
+                        urls.add(gson.fromJson(gson.toJson(menuDto), MenuPrivilegeDto.class));
+                        m.setUrls(urls);
+                    } else if (menuDto.getType() == PrivilegeEnum.LIST) {
+                        lists = Objects.isNull(lists) ? new ArrayList<>() : lists;
+                        lists.add(gson.fromJson(gson.toJson(menuDto), MenuPrivilegeDto.class));
+                        m.setLists(lists);
+                    } else if (menuDto.getType() == PrivilegeEnum.CONDITION) {
+                        conditions = Objects.isNull(conditions) ? new ArrayList<>() : conditions;
+                        conditions.add(gson.fromJson(gson.toJson(menuDto), MenuPrivilegeDto.class));
+                        m.setConditions(conditions);
+                    }
+                }
+            }
+        }
         MenuResult menuResult = new MenuResult(sysUser.getId(), authBean.getRoleList().stream().map(s -> s.getName()).collect(Collectors.toSet()));
         menuResult.setPrivileges(menuPrivilegeDtoList);
         return menuResult;