shiqian 4 лет назад
Родитель
Сommit
fe5d2eecf4

+ 6 - 0
boman-api/boman-domain/pom.xml

@@ -21,6 +21,12 @@
             <artifactId>boman-common-core</artifactId>
             <version>2.5.0-SNAPSHOT</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.4</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 38 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/dto/RoleMenuDto.java

@@ -0,0 +1,38 @@
+package com.boman.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+import static com.boman.common.core.utils.obj.ObjectUtils.requireNonNull;
+import static com.boman.domain.constant.FormDataConstant.COLON;
+
+/**
+ * @author shiqian
+ * @date 2021年05月06日 17:25
+ **/
+@Data
+public class RoleMenuDto {
+
+    private Long menuId;
+    private List<String> head;
+
+    public static String getBtnFromPerms(String perms) {
+        // sys_user:A
+        requireNonNull(perms, "权限标识为空");
+        String[] split = perms.split(COLON);
+        assert split.length == 2;
+        // A
+        return split[1];
+    }
+
+    public static String getTableNameFromPerms(String perms) {
+        // sys_user:A
+        requireNonNull(perms, "权限标识为空");
+        String[] split = perms.split(COLON);
+        assert split.length == 2;
+        // sys_user
+        return split[0];
+    }
+
+}

+ 4 - 3
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysRoleMenuController.java

@@ -1,6 +1,7 @@
 package com.boman.system.controller;
 
 import com.boman.common.core.web.domain.AjaxResult;
+import com.boman.domain.dto.RoleMenuDto;
 import com.boman.system.domain.SysRoleMenu;
 import com.boman.system.service.impl.ISysRoleMenuService;
 import org.slf4j.Logger;
@@ -29,11 +30,11 @@ public class SysRoleMenuController {
     /**
      * 功能描述: 批量保存roleMenu
      *
-     * @param roleMenuList roleMenuList
+     * @param dto dto
      * @return com.boman.common.core.web.domain.AjaxResult
      */
     @PostMapping
-    public AjaxResult list(@RequestBody List<SysRoleMenu> roleMenuList) {
-        return AjaxResult.success(service.saveList(roleMenuList));
+    public AjaxResult list(@RequestBody RoleMenuDto dto) {
+        return AjaxResult.success(service.saveList(dto));
     }
 }

+ 8 - 7
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/ISysRoleMenuService.java

@@ -1,5 +1,6 @@
 package com.boman.system.service.impl;
 
+import com.boman.domain.dto.RoleMenuDto;
 import com.boman.system.domain.SysRoleMenu;
 
 import java.util.List;
@@ -11,13 +12,13 @@ import java.util.List;
  */
 public interface ISysRoleMenuService {
 
-    /**
-     * 功能描述: 批量保存roleMenu
-     *
-     * @param roleMenuList roleMenuList
-     * @return boolean
-     */
-    int saveList(List<SysRoleMenu> roleMenuList);
+   /**
+    * 功能描述: 批量保存roleMenu
+    *
+    * @param dto dto
+    * @return int
+    */
+    int saveList(RoleMenuDto dto);
 
 
 }

+ 3 - 19
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysMenuServiceImpl.java

@@ -9,6 +9,7 @@ import com.boman.common.redis.service.RedisService;
 import com.boman.domain.GenTable;
 import com.boman.domain.RoleEnum;
 import com.boman.domain.constant.GlobalBtn;
+import com.boman.domain.dto.RoleMenuDto;
 import com.boman.system.api.domain.SysMenu;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -553,8 +554,8 @@ public class SysMenuServiceImpl implements ISysMenuService {
             List<Object> containsHead = Lists.newArrayList("0", "0", "0", "0", "0", "0", "0", "0");
             List<SysMenu> childList = getChildList(menus, sysMenu);
             for (SysMenu childMenu : childList) {
-                String btn = getBtnFromPerms(childMenu.getPerms());
-                String tableName = getTableNameFromPerms(childMenu.getPerms());
+                String btn = RoleMenuDto.getBtnFromPerms(childMenu.getPerms());
+                String tableName = RoleMenuDto.getTableNameFromPerms(childMenu.getPerms());
                 GenTable genTable = redisService.getCacheObject(RedisKey.TABLE_INFO + tableName);
                 String menuRole = genTable.getMenuRole();
                 if (menuRole.contains(btn)) {
@@ -601,21 +602,4 @@ public class SysMenuServiceImpl implements ISysMenuService {
         }
     }
 
-    private String getBtnFromPerms(String perms) {
-        // sys_user:A
-        requireNonNull(perms, "权限标识为空");
-        String[] split = perms.split(COLON);
-        assert split.length == 2;
-        // A
-        return split[1];
-    }
-
-    private String getTableNameFromPerms(String perms) {
-        // sys_user:A
-        requireNonNull(perms, "权限标识为空");
-        String[] split = perms.split(COLON);
-        assert split.length == 2;
-        // sys_user
-        return split[0];
-    }
 }

+ 46 - 10
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysRoleMenuServiceImpl.java

@@ -1,8 +1,11 @@
 package com.boman.system.service.impl;
 
 import com.boman.domain.constant.TableNameConst;
+import com.boman.domain.dto.RoleMenuDto;
+import com.boman.system.api.domain.SysMenu;
 import com.boman.system.domain.SysRoleMenu;
 import com.boman.system.mapper.SysRoleMenuMapper;
+import com.boman.system.service.ISysMenuService;
 import com.boman.web.core.api.RemoteObjService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -12,6 +15,7 @@ import javax.annotation.Resource;
 import java.util.List;
 
 import static com.boman.common.core.utils.obj.ObjectUtils.isEmpty;
+import static com.boman.common.core.utils.obj.ObjectUtils.requireNonNull;
 
 /**
  * @author shiqian
@@ -26,23 +30,55 @@ public class SysRoleMenuServiceImpl implements ISysRoleMenuService{
     private SysRoleMenuMapper mapper;
     @Resource
     private RemoteObjService remoteObjService;
+    @Resource
+    private ISysMenuService menuService;
+
     /**
      * 功能描述: 批量保存roleMenu
      *
-     * @param roleMenuList roleMenuList
+     * @param dto dto
      * @return int
      */
     @Override
-    public int saveList(List<SysRoleMenu> roleMenuList) {
-        if (isEmpty(roleMenuList)) {
-            return 0;
-        }
+    public int saveList(RoleMenuDto dto) {
+//        for (SysRoleMenu sysRoleMenu : roleMenuList) {
+//            Long maxId = remoteObjService.getMaxId(TableNameConst.SYS_ROLE_MENU, TableNameConst.ID);
+//            sysRoleMenu.setId(maxId);
+//        }
+//
+//        return mapper.batchRoleMenu(roleMenuList);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        Long menuId = dto.getMenuId();
+        SysMenu menu = menuService.selectMenuById(menuId);
+        requireNonNull(menu, "根据menuId = [" + menuId + "], 未找到菜单");
+        String perms = menu.getPerms();
+        requireNonNull(perms, "权限标识为空");
+        List<String> head = dto.getHead();
+        requireNonNull(head, "操作为空");
+
+        String btn = RoleMenuDto.getBtnFromPerms(menu.getPerms());
+        String tableName = RoleMenuDto.getTableNameFromPerms(menu.getPerms());
+
+
 
-        for (SysRoleMenu sysRoleMenu : roleMenuList) {
-            Long maxId = remoteObjService.getMaxId(TableNameConst.SYS_ROLE_MENU, TableNameConst.ID);
-            sysRoleMenu.setId(maxId);
-        }
 
-        return mapper.batchRoleMenu(roleMenuList);
+        return 0;
     }
 }