fanxp 2 years ago
parent
commit
e30194705a

+ 18 - 12
src/main/java/com/xjrsoft/module/system/controller/MenuController.java

@@ -12,10 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.toolkit.MPJWrappers;
 import com.jdcloud.sdk.utils.StringUtils;
 import com.xjrsoft.common.constant.GlobalConstant;
-import com.xjrsoft.common.enums.AuthorizeType;
-import com.xjrsoft.common.enums.EnabledMark;
-import com.xjrsoft.common.enums.MenuType;
-import com.xjrsoft.common.enums.YesOrNoEnum;
+import com.xjrsoft.common.enums.*;
 import com.xjrsoft.common.model.result.R;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.TreeUtil;
@@ -74,6 +71,9 @@ public class MenuController {
     @GetMapping("/tree")
     @ApiOperation(value = "获取所有菜单(树结构)")
     public R menuTree(@Valid MenuTreeDto dto) {
+        if (StrUtil.isEmpty(dto.getSystemType())) {
+            dto.setSystemType(SystemTypeEnum.SYSTEMPC.getCode());
+        }
         List<MenuVo> list = menuService.getAuthMenuList(dto);
         List<MenuTreeVo> voList = BeanUtil.copyToList(list, MenuTreeVo.class);
         List<MenuTreeVo> treeVoList = TreeUtil.build(voList);
@@ -83,8 +83,11 @@ public class MenuController {
 
     @GetMapping("/quick")
     @ApiOperation(value = "用户快捷菜单")
-    public RT<List<MenuVo>> quick() {
-        List<Menu> menus = menuService.getUserQuick();
+    public RT<List<MenuVo>> quick(@Valid MenuTreeDto dto) {
+        if (StrUtil.isEmpty(dto.getSystemType())) {
+            dto.setSystemType(SystemTypeEnum.SYSTEMPC.getCode());
+        }
+        List<Menu> menus = menuService.getUserQuick(dto);
         List<MenuVo> menuListVos = BeanUtil.copyToList(menus, MenuVo.class);
         return RT.ok(menuListVos);
     }
@@ -92,6 +95,9 @@ public class MenuController {
     @GetMapping("/role-serve")
     @ApiOperation(value = "查询角色菜单服务")
     public RT<List<MenuServeVo>> roleMenuServe(RoleMenuServeListDto dto) {
+        if (StrUtil.isEmpty(dto.getSystemType())) {
+            dto.setSystemType(SystemTypeEnum.SYSTEMPC.getCode());
+        }
         List<MenuServeVo> list = menuService.getRoleMenuServe(dto);
 
         return RT.ok(list);
@@ -112,7 +118,7 @@ public class MenuController {
                 MPJWrappers.<Menu>lambdaJoin()
                         .like(StrUtil.isNotEmpty(dto.getTitle()), Menu::getTitle, dto.getTitle())
                         .like(StrUtil.isNotEmpty(dto.getName()), Menu::getName, dto.getName())
-                        .eq(Menu::getSystemType,dto.getSystemType())
+                        .eq(Menu::getSystemType, dto.getSystemType())
                         .select(Menu::getId)
                         .select(Menu.class, x -> VoToColumnUtil.fieldsToColumns(MenuTreeVo.class).contains(x.getProperty()))
                         .selectAs(Subsystem::getName, MenuTreeVo::getSystemName)
@@ -163,7 +169,7 @@ public class MenuController {
         }
         Menu menu = BeanUtil.toBean(dto, Menu.class);
 
-        if (ObjectUtil.isEmpty(menu.getSystemId())){
+        if (ObjectUtil.isEmpty(menu.getSystemId())) {
             menu.setSystemId(1L);
         }
 
@@ -223,10 +229,10 @@ public class MenuController {
         long count = menuService.count(Wrappers.<Menu>query().lambda()
                 .ne(Menu::getId, dto.getId()).and(wrapper ->
                         wrapper.eq(Menu::getName, dto.getName())
-                        .or()
-                        .eq(Menu::getCode, dto.getCode())
-                        )
-                );
+                                .or()
+                                .eq(Menu::getCode, dto.getCode())
+                )
+        );
 
         if (count > 0) {
             return R.error("菜单名或者菜单编码已经存在!");

+ 3 - 1
src/main/java/com/xjrsoft/module/system/dto/RoleMenuServeListDto.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.system.dto;
 
 import lombok.Data;
+import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotNull;
 
@@ -12,5 +13,6 @@ public class RoleMenuServeListDto {
     @NotNull(message = "角色编号不能为空")
     private Long roleId;
 
-
+    @Length(max = 20,message = "系统类型!")
+    private String systemType;
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/system/service/IMenuService.java

@@ -27,5 +27,5 @@ public interface IMenuService extends MPJBaseService<Menu> {
 
     List<MenuServeVo> getRoleMenuServe(RoleMenuServeListDto dto);
 
-    List<Menu> getUserQuick();
+    List<Menu> getUserQuick(MenuTreeDto dto);
 }

+ 7 - 3
src/main/java/com/xjrsoft/module/system/service/impl/MenuServiceImpl.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.system.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -75,6 +76,8 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
         // 获取角色菜单
         List<MenuVo> menuVos = getAuthMenuByRoleIds(new ArrayList<Long>() {{
             add(dto.getRoleId());
+        }}, new MenuTreeDto() {{
+            setSystemType(dto.getSystemType());
         }});
         List<MenuServeVo> result = getSubMenu(menuVos);
         // 获取角色快捷菜单
@@ -99,13 +102,14 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
      * @return
      */
     @Override
-    public List<Menu> getUserQuick() {
+    public List<Menu> getUserQuick(MenuTreeDto dto) {
         Long userId = StpUtil.getLoginIdAsLong();
 
         List<Menu> menus = this.selectJoinList(Menu.class,
                 MPJWrappers.<Menu>lambdaJoin()
                         .innerJoin(XjrMenuQuick.class, XjrMenuQuick::getMenuId, Menu::getId)
                         .eq(XjrMenuQuick::getUserId, userId)
+                        .eq(ObjectUtil.isNotEmpty(dto.getSystemType()), Menu::getSystemType, dto.getSystemType())
                         .selectAs(XjrMenuQuick::getSystemId, Menu::getSystemId)
                         .select(Menu.class, x -> VoToColumnUtil.fieldsToColumns(MenuListVo.class).contains(x.getProperty())));
         // 取角色菜单
@@ -114,7 +118,7 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
             menus = this.selectJoinList(Menu.class,
                     MPJWrappers.<Menu>lambdaJoin()
                             .innerJoin(XjrMenuQuick.class, XjrMenuQuick::getMenuId, Menu::getId)
-                            .in(XjrMenuQuick::getRoleId,roleIds)
+                            .in(XjrMenuQuick::getRoleId, roleIds)
                             .selectAs(XjrMenuQuick::getSystemId, Menu::getSystemId)
                             .select(Menu::getId)
                             .select(Menu.class, x -> VoToColumnUtil.fieldsToColumns(Menu.class).contains(x.getProperty())));
@@ -159,7 +163,7 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
                         .like(StrUtil.isNotBlank(dto.getTitle()), Menu::getTitle, dto.getTitle())
                         .like(StrUtil.isNotBlank(dto.getCode()), Menu::getCode, dto.getCode())
                         .like(StrUtil.isNotBlank(dto.getName()), Menu::getName, dto.getName())
-                        //                .like(ObjectUtil.isNotEmpty(dto.getEnabledMark()), Menu::getEnabledMark, dto.getEnabledMark())
+                        .eq(ObjectUtil.isNotEmpty(dto.getSystemType()), Menu::getSystemType, dto.getSystemType())
                         .in(CollectionUtils.isNotEmpty(authMenuIdList), Menu::getId, authMenuIdList)
                         .select(Menu::getId)
                         .selectAs(Subsystem::getName, MenuVo::getSystemName)