czh 2 лет назад
Родитель
Сommit
f5962feddc

+ 2 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsMenuController.java

@@ -146,7 +146,7 @@ public class KwsMenuController {
      * @date: 2023/6/13
      */
     @PostMapping("/queryMapping")
-    public HttpResult queryMapping(@Valid @RequestBody QueryChildMenuReqVo reqVo) {
-        return HttpResult.ok(kwsMenuService.queryMapping(reqVo.getId()));
+    public HttpResult queryMapping(@Valid @RequestBody QueryMappingReqVo reqVo) {
+        return HttpResult.ok(kwsMenuService.queryMapping(reqVo.getMenuId()));
     }
 }

+ 23 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/QueryMappingReqVo.java

@@ -0,0 +1,23 @@
+package com.sckw.system.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 查映射关联
+ * @date 2023/9/8
+ */
+@Data
+public class QueryMappingReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1092087890786346102L;
+
+    @NotNull(message = "菜单id不能为空")
+    private Long menuId;
+
+}

+ 60 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/QueryMappingResVo.java

@@ -0,0 +1,60 @@
+package com.sckw.system.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 查映射关联
+ * @date 2023/9/8
+ */
+@Data
+public class QueryMappingResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -5437311334622661332L;
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 菜单名
+     */
+    private String name;
+
+    /**
+     * 功能编码
+     */
+    private String perms;
+
+    /**
+     * 菜单类型  类型:1菜单/2按钮
+     */
+    private Integer type;
+
+    /**
+     * 排序码
+     */
+    private Integer sort;
+
+    /**
+     * 菜单id
+     */
+    private Long menuId;
+
+    /**
+     * 关联的菜单id
+     */
+    private Long mappingMenuId;
+
+
+}

+ 24 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -3,11 +3,11 @@ package com.sckw.system.service;
 import java.util.Date;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.ClientTypeEnum;
 import com.sckw.core.model.enums.MenuTypeEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.BeanUtils;
@@ -495,12 +495,33 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/6/13
      */
-    public List<KwsMenu> queryMapping(Long id) {
+    public List<QueryMappingResVo> queryMapping(Long id) {
         List<KwsMenuMapping> kwsMenuMappings = kwsMenuMappingDao.selectByMenuId(id);
         if (CollectionUtils.isEmpty(kwsMenuMappings)) {
             return Collections.emptyList();
         }
 
-        return kwsMenuDao.selectByKeys(kwsMenuMappings.stream().map(KwsMenuMapping::getMappingId).toList());
+
+        List<KwsMenu> kwsMenus = kwsMenuDao.selectByKeys(kwsMenuMappings.stream().map(KwsMenuMapping::getMappingId).toList());
+        Map<Long, List<KwsMenu>> collect = kwsMenus.stream().collect(Collectors.groupingBy(KwsMenu::getParentId));
+
+        List<QueryMappingResVo> list = new ArrayList<>();
+        for (KwsMenuMapping kwsMenuMapping : kwsMenuMappings) {
+            KwsMenu kwsMenu = kwsMenuDao.selectByKey(kwsMenuMapping.getMappingId());
+            if (Objects.nonNull(kwsMenu)) {
+                QueryMappingResVo queryMappingResVo = new QueryMappingResVo();
+                queryMappingResVo.setId(kwsMenuMapping.getId());
+                queryMappingResVo.setRemark(kwsMenu.getRemark());
+                queryMappingResVo.setName(kwsMenu.getName());
+                queryMappingResVo.setPerms(kwsMenu.getPerms());
+                queryMappingResVo.setType(kwsMenu.getType());
+                queryMappingResVo.setSort(kwsMenu.getSort());
+                queryMappingResVo.setMenuId(kwsMenuMapping.getMenuId());
+                queryMappingResVo.setMappingMenuId(kwsMenuMapping.getMappingId());
+                list.add(queryMappingResVo);
+            }
+        }
+
+        return list;
     }
 }