类 MenuCacheProvider

java.lang.Object
com.walker.cache.AbstractCacheProvider<S_menu>
com.iplatform.base.cache.MenuCacheProvider
所有已实现的接口:
com.walker.cache.CacheProvider<S_menu>, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<com.walker.cache.CacheProvider<S_menu>>, org.springframework.beans.factory.InitializingBean

public class MenuCacheProvider extends com.walker.cache.AbstractCacheProvider<S_menu>
菜单本地缓存,因为不需要集群环境,因此只有内存模式(没有redis方式)
作者:
时克英
  • 构造器详细资料

    • MenuCacheProvider

      public MenuCacheProvider()
  • 方法详细资料

    • setMenuService

      public void setMenuService(MenuServiceImpl menuService)
    • loadDataToCache

      protected int loadDataToCache(com.walker.cache.Cache cache)
      指定者:
      loadDataToCache 在类中 com.walker.cache.AbstractCacheProvider<S_menu>
    • getProviderName

      public String getProviderName()
    • getProviderType

      public Class<?> getProviderType()
    • isHasChildren

      public boolean isHasChildren(String menuId)
      给定的菜单,是否包含子菜单。
      参数:
      menuId - 给定菜单ID
      返回:
    • getMenuList

      public List<SystemMenu> getMenuList(List<String> roleIdList, int menuScope)
      返回菜单集合列表(不是树结构),目前该方法在代码生成功能中使用,展示选择生成在哪个菜单模块。
      参数:
      roleIdList -
      menuScope - 菜单范围:0 平台(目前也有3),4 独立单位, -1 表示显示所有菜单,>4 表示机构特定菜单,如班主任菜单。
      返回:
    • toSystemMenuList

      public List<SystemMenu> toSystemMenuList(List<S_menu> srcMenuList)
    • getCacheMenuList

      public List<S_menu> getCacheMenuList(boolean containButton, int menuScope)
      获得缓存菜单列表
      参数:
      containButton - 是否包含按钮权限菜单
      menuScope - 菜单范围,对独立顶级机构,可以显示机构设置的分类菜单范围,目前有:0-平台(包含3),4-顶级单位独立菜单
      返回:
    • getChildPerms

      public List<SystemMenu> getChildPerms(List<SystemMenu> list, String parentId)
      根据父节点的ID获取所有子节点
      参数:
      list - 分类表
      parentId - 传入的父节点ID
      返回:
      String
    • getPermissionSet

      public Set<String> getPermissionSet(List<String> menuIdList, boolean showAll, int menuScope)
      返回菜单权限标识字符串集合,该方法若依前端使用。

      后续会去掉前端对权限点的依赖。
      参数:
      menuIdList -
      showAll - 是否显示所有权限点
      menuScope - 菜单范围,对独立顶级机构,可以显示机构设置的分类菜单范围,目前有:0-平台(包含3),4-顶级单位独立菜单
      返回:
    • getMenuTreeAll

      public List<SystemMenu> getMenuTreeAll(List<String> menuIdList, boolean containButton, int menuScope)
      返回菜单树形结果,列表中包含多个菜单根节点,menuIdList 为空时,允许返回所有的。
      参数:
      menuIdList -
      containButton -
      返回:
    • getMenuTree

      public List<SystemMenu> getMenuTree(List<String> menuIdList, boolean containButton, boolean showAll, int menuScope)
      返回菜单树形结果,列表中包含多个菜单根节点。
      参数:
      menuIdList - 指定显示的菜单,如果为空表示不特别限制
      containButton - 是否包含按钮权限
      showAll - 当给定'menuIdList'为空时,是否显示所有菜单
      返回:
    • buildMenus

      @Deprecated public List<RouterVo> buildMenus(List<SystemMenu> menus)
      已过时。
      构建前端路由所需要的菜单(若依)
      参数:
      menus - 菜单列表
      返回:
      路由列表
    • getAllRoleMenuMap

      public List<String[]> getAllRoleMenuMap()
      返回系统所有角色与url关联数据,security权限配置实用。

      该方法会有重复数据,例如:多个角色具有相同的URL,由业务去除重复。

      list[0] = role_id, list[1] = url

      因为Map对象相同key会覆盖value,所以换成List集合返回。
      返回:
    • getAllMenuUrlList

      public List<String> getAllMenuUrlList()
      返回系统所有菜单包含权限的url集合,即:所有perms存在的菜单。
      返回: