فهرست منبع

添加菜单排序

李进 2 سال پیش
والد
کامیت
40468cb6a9

+ 5 - 0
authorize-api-service/src/main/java/com/xy/entity/SysMenu.java

@@ -47,6 +47,11 @@ public class SysMenu extends BaseEntity2<SysMenu> implements Serializable {
      */
     private Integer type;
 
+    /**
+     * 客户端类型
+     */
+    private String clientType;
+
     /**
      * 数据接口uri
      */

+ 10 - 2
authorize-api-service/src/main/java/com/xy/redis/RedisCache.java

@@ -170,16 +170,24 @@ public class RedisCache extends AuthorizeUtils {
      * @return
      */
     public static List<SysMenuJoinSysRoleMenu> getMenu(Long systemId) {
+        String token = getToken();
+        String clientType = getClientType(token);
         JList<SysMenuJoinSysRoleMenu> sysMenuJoinSysRoleMenus = new JArrayList<>();
         //获取redis缓存
-        List<AuthorizeUtils.CacheEntity> cacheEntities = getRedisService().getMap(getKey(getLoginId(getToken(), Long.class)), systemId.toString());
+        List<AuthorizeUtils.CacheEntity> cacheEntities = getRedisService().getMap(getKey(getLoginId(token, Long.class)), systemId.toString());
         if (!Emptys.check(cacheEntities)) {
             return sysMenuJoinSysRoleMenus;
         }
         //角色菜单累加
         cacheEntities.forEach(cacheEntity -> {
+            List<SysMenuJoinSysRoleMenu> sysMenuJoinSysRoleMenuss = cacheEntity.getList();
             if (Emptys.check(cacheEntity.getList())) {
-                sysMenuJoinSysRoleMenus.addAll(cacheEntity.getList());
+                JList<SysMenuJoinSysRoleMenu> list = new JArrayList<>(sysMenuJoinSysRoleMenuss).filter()
+                        .eq(SysMenuJoinSysRoleMenu::getClientType, clientType)
+                        .list();
+                if (Emptys.check(list)) {
+                    sysMenuJoinSysRoleMenus.addAll(list);
+                }
             }
         });
         //去重

+ 10 - 12
authorize-api-service/src/main/java/com/xy/service/impl/SysMenuServiceImpl.java

@@ -16,6 +16,7 @@ import com.xy.redis.RedisCache;
 import com.xy.service.SysMenuService;
 import com.xy.service.SysRoleMenuService;
 import com.xy.utils.Emptys;
+import com.xy.utils.MybatisPlusQuery;
 import com.xy.utils.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -93,10 +94,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
 
     @PostMapping("menu")
     @ApiOperation("系统菜单树")
-    public R<List<SysMenuDto.Vo>> menu(@RequestBody SysMenuDto.WorkMenu workMenu) {
-        LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new LambdaQueryWrapper<SysMenu>()
-                .eq(SysMenu::getSysId, workMenu.getSysId())
-                .orderByAsc(SysMenu::getOrders);
+    public R<List<SysMenuDto.Vo>> menu(@RequestBody SysMenuDto.SysMenu sysMenu) {
+        LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(sysMenu, SysMenu.class).build().orderByAsc(SysMenu::getOrders);
         List<SysMenuDto.Vo> vos = copy(SysMenuDto.Vo.class, list(lambdaQueryWrapper));
         JList<SysMenuDto.Vo> list = new JArrayList<>(vos).filter().isNull(SysMenuDto.Vo::getPaterId).list();
         for (SysMenuDto.Vo vo : list) {
@@ -148,6 +147,13 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
         return R.ok();
     }
 
+    @PostMapping("getMenuIdsForAdmin")
+    @ApiOperation("获取角色的管理员权限菜单")
+    public R<List<Long>> getMenuIdsForAdmin(@RequestBody @Validated SysMenuDto.RoleAdminMenuIdsDto roleAdminMenuIdsDto) {
+        List<Long> menuIds = sysRoleMenuService.getMenuIdsByRoleId(roleAdminMenuIdsDto.getRoleId(), Boolean.TRUE);
+        return R.ok(menuIds);
+    }
+
     private void delMethod(SysMenuDto.Del del) {
         //删除角色菜单
         sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getMenuId, del.getId()));
@@ -161,12 +167,4 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
         }
     }
 
-
-    @PostMapping("getMenuIdsForAdmin")
-    @ApiOperation("获取角色的管理员权限菜单")
-    public R<List<Long>> getMenuIdsForAdmin(@RequestBody @Validated SysMenuDto.RoleAdminMenuIdsDto roleAdminMenuIdsDto) {
-        List<Long> menuIds = sysRoleMenuService.getMenuIdsByRoleId(roleAdminMenuIdsDto.getRoleId(), Boolean.TRUE);
-        return R.ok(menuIds);
-    }
-
 }

+ 29 - 5
authorize-api/src/main/java/com/xy/dto/SysMenuDto.java

@@ -20,8 +20,20 @@ public class SysMenuDto {
     public static class WorkMenu {
 
         @NotNull(message = "sysId不能为空")
-        @ApiModelProperty("系统id")
+        @ApiModelProperty(value = "系统id", required = true)
+        private Long sysId;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class SysMenu {
+
+        @NotNull(message = "sysId不能为空")
+        @ApiModelProperty(value = "系统id", required = true)
         private Long sysId;
+
+        @ApiModelProperty(value = "客户端类型")
+        private String clientType;
     }
 
     @Data
@@ -29,7 +41,7 @@ public class SysMenuDto {
     public static class WorkMenuList {
 
         @NotNull(message = "sysId不能为空")
-        @ApiModelProperty("系统id")
+        @ApiModelProperty(value = "系统id", required = true)
         private List<Long> sysId;
     }
 
@@ -55,12 +67,18 @@ public class SysMenuDto {
         @ApiModelProperty(value = "标识", required = true)
         private String code;
 
+        @NotBlank(message = "name不能为空")
         @ApiModelProperty(value = "名称", required = true)
         private String name;
 
-        @ApiModelProperty(value = "类型;1=目录 2=菜单 3=数据接口/按钮", required = true)
+        @NotNull(message = "type不能为空")
+        @ApiModelProperty(value = "类型", required = true)
         private Integer type;
 
+        @NotBlank(message = "clientType不能为空")
+        @ApiModelProperty(value = "客户端类型", required = true)
+        private String clientType;
+
         @ApiModelProperty(value = "父菜单id")
         private Long paterId;
 
@@ -91,9 +109,12 @@ public class SysMenuDto {
         @ApiModelProperty(value = "名称")
         private String name;
 
-        @ApiModelProperty(value = "类型;1=目录 2=菜单 3=数据接口/按钮")
+        @ApiModelProperty(value = "类型")
         private Integer type;
 
+        @ApiModelProperty(value = "客户端类型")
+        private String clientType;
+
         @ApiModelProperty(value = "父菜单id")
         private Long paterId;
 
@@ -162,9 +183,12 @@ public class SysMenuDto {
         @ApiModelProperty("名称")
         private String name;
 
-        @ApiModelProperty("类型;1=目录 2=菜单 3=数据接口/按钮")
+        @ApiModelProperty("类型")
         private Integer type;
 
+        @ApiModelProperty("客户端类型")
+        private String clientType;
+
         @ApiModelProperty("数据接口uri")
         private String interfaceUri;
 

+ 1 - 1
authorize-api/src/main/java/com/xy/dto/SysWorkUser/LoginDto.java

@@ -22,7 +22,7 @@ public class LoginDto {
     @Pattern(regexp = "^[a-zA-z0-9]{6,11}$", message = "password必须为数字或字母,长度6-11位之间")
     private String password;
 
-    @ApiModelProperty("客户端类型 PC,MOBILE")
+    @ApiModelProperty("客户端类型")
     @NotNull(message = "clientType不能为空")
     private String clientType;
 

+ 6 - 1
authorize-sdk/src/main/java/com/xy/entity/SysMenuJoinSysRoleMenu.java

@@ -49,10 +49,15 @@ public class SysMenuJoinSysRoleMenu implements Serializable {
     private String name;
 
     /**
-     * 类型;1=目录 2=菜单 3=数据接口/按钮
+     * 类型
      */
     private Integer type;
 
+    /**
+     * 客户端类型
+     */
+    private String clientType;
+
     /**
      * 数据接口uri
      */