Browse Source

左侧菜单路由修改

jichaobo 2 years ago
parent
commit
6fd1d50f55

+ 14 - 1
service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMenuController.java

@@ -9,13 +9,16 @@ import com.usky.common.core.constants.CommonConst;
 import com.usky.common.core.exception.BusinessErrorCode;
 import com.usky.common.core.util.StringUtils;
 import com.usky.system.domain.SysMenu;
+import com.usky.system.domain.SysUser;
 import com.usky.system.domain.constants.UserConstants;
 import com.usky.system.model.LoginUser;
 import com.usky.system.service.ISysMenuService;
+import com.usky.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -33,6 +36,9 @@ public class SysMenuController extends BaseController
     @Autowired
     private ISysMenuService menuService;
 
+    @Autowired
+    private ISysUserService userService;
+
     @Autowired
     private TokenService tokenService;
 
@@ -151,7 +157,14 @@ public class SysMenuController extends BaseController
     public ApiResult getRouters()
     {
         Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
+
+        SysUser sysUser = userService.selectUserById(userId);
+        List<SysMenu> menus = new ArrayList<>();
+        if ("01".equals(sysUser.getUserType())){
+            menus = menuService.selectMenuTreeByUserIdOne(SecurityUtils.getTenantId());
+        }else {
+            menus = menuService.selectMenuTreeByUserId(userId);
+        }
         return ApiResult.success(menuService.buildMenus(menus));
     }
 }

+ 2 - 0
service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMenuMapper.java

@@ -63,6 +63,8 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      */
     public List<SysMenu> selectMenuTreeByUserId(Long userId);
 
+    public List<SysMenu> selectMenuTreeByUserIdOne(Integer tenantId);
+
     /**
      * 根据角色ID查询菜单树信息
      * 

+ 2 - 0
service-system/service-system-biz/src/main/java/com/usky/system/service/ISysMenuService.java

@@ -51,6 +51,8 @@ public interface ISysMenuService extends CrudService<SysMenu>
      */
     public List<SysMenu> selectMenuTreeByUserId(Long userId);
 
+    List<SysMenu> selectMenuTreeByUserIdOne(Integer tenantId);
+
     /**
      * 根据角色ID查询菜单树信息
      * 

+ 6 - 0
service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMenuServiceImpl.java

@@ -117,6 +117,12 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
         return getChildPerms(menus, 0);
     }
 
+
+    public List<SysMenu> selectMenuTreeByUserIdOne(Integer tenantId){
+        List<SysMenu> menus = menuMapper.selectMenuTreeByUserIdOne(tenantId);
+        return getChildPerms(menus, 0);
+    }
+
     /**
      * 根据角色ID查询菜单树信息
      *

+ 29 - 0
service-system/service-system-biz/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -128,6 +128,35 @@
         order by m.parent_id, m.order_num
     </select>
 
+    <select id="selectMenuTreeByUserIdOne" parameterType="Long" resultMap="SysMenuResult">
+        SELECT
+            m.menu_id,
+            m.parent_id,
+            m.menu_name,
+            m.path,
+            m.component,
+            m.visible,
+            m. STATUS,
+            ifnull(m.perms, '') AS perms,
+            m.is_frame,
+            m.is_cache,
+            m.menu_type,
+            m.icon,
+            m.order_num,
+            m.create_time
+        FROM
+            sys_menu m
+                JOIN sys_tenant_menu t
+        WHERE
+            m.menu_id = t.menu_id
+          AND m.menu_type IN ('M', 'C')
+          AND m. STATUS = 0
+          AND t.tenant_id=#{tenantId}
+        ORDER BY
+            m.parent_id,
+            m.order_num
+    </select>
+
     <select id="selectMenuListByRoleId" resultType="Integer">
         select m.menu_id
         from sys_menu m