From 0025ab376fc51f507ad8faa39749ea22a1ed7be5 Mon Sep 17 00:00:00 2001 From: FLYPHT <1035748121@qq.com> Date: Mon, 26 Sep 2022 11:45:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/controller/FileDownloadController.java | 4 +- .../bpm/web/sys/user/menuPlan/MenuPlanCache.java | 1 - .../bpm/web/sys/user/menuPlan/MenuPlanHelper.java | 21 ++++++++++ .../sys/user/menuPlan/MenuPlanItemProvider.java | 45 ++++++++++++++++++++++ 4 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanHelper.java create mode 100644 smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanItemProvider.java diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java index c8401d6..13a3bb3 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/spring/controller/FileDownloadController.java @@ -41,7 +41,7 @@ public class FileDownloadController { @RequestParam(value = "absolutePath", required = false) Boolean absolutePath, HttpServletRequest request ) throws FileNotFoundException { - String filePath = request.getRequestURI().substring(10); + String filePath = request.getServletPath().substring(10); return download(filePath, name, noCache,absolutePath, request); } @@ -91,7 +91,7 @@ public class FileDownloadController { @RequestParam(value = "noCache", required = false) Boolean noCache, @RequestHeader(value = "If-Modified-Since", required = false) String ifModifiedSince, HttpServletRequest request) throws FileNotFoundException { - String filePath = request.getRequestURI().substring(11); + String filePath = request.getServletPath().substring(11); HttpHeaders headers = new HttpHeaders(); diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanCache.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanCache.java index 7677d93..a1ede39 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanCache.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanCache.java @@ -14,7 +14,6 @@ import java.util.Set; public class MenuPlanCache extends AbstractEntityCache { //缓存key:按项目缓存 public final static String mk_p = "p"; - public static MenuPlanCache getInstance() { return CacheManager.getIntance().getCache(MenuPlanCache.class); } diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanHelper.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanHelper.java new file mode 100644 index 0000000..f070351 --- /dev/null +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanHelper.java @@ -0,0 +1,21 @@ +package cc.smtweb.system.bpm.web.sys.user.menuPlan; + +/** + * @Author: tanghp + * @Date: 2022-09-26 10:19 + * @Desc: 菜单方案辅助类 + */ +public class MenuPlanHelper { + /** + * 获取命中菜单方案明细ID + * @param menuId 菜单方案明细ID + * @param pageId 页面ID + * @param fullPath 带参数的路径 + * @return + */ + public long findMenuId(long menuId,long pageId,String fullPath){ + // + + return 0L; + } +} diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanItemProvider.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanItemProvider.java new file mode 100644 index 0000000..2cd16f8 --- /dev/null +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/menuPlan/MenuPlanItemProvider.java @@ -0,0 +1,45 @@ +package cc.smtweb.system.bpm.web.sys.user.menuPlan; + +import cc.smtweb.framework.core.cache.SessionCacheFactory; +import cc.smtweb.framework.core.util.CommUtil; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author: tanghp + * @Date: 2022-09-26 11:12 + * @Desc: 菜单明细加载类 + */ +public class MenuPlanItemProvider { + private volatile MenuPlanItemProvider provider; + private Map map = new HashMap<>(); + private MenuPlanItemProvider() { + } + public MenuPlanItemProvider getInstance(){ + if (provider == null) { + synchronized (SessionCacheFactory.class) { + if (provider == null) { + provider = new MenuPlanItemProvider(); + } + } + } + return provider; + } + // 获取菜单方案明细ID + public MenuPlanItem getMenuPlanItem(long menuId){ + MenuPlanItem menuPlanItem = map.get(menuId); + if(menuPlanItem!=null)return menuPlanItem; + Collection plans = MenuPlanCache.getInstance().getAll(); + if(CommUtil.isEmpty(plans))return null; + for(MenuPlan menuPlan: plans){ + menuPlanItem = MenuPlanCache.getInstance().getById(menuPlan.getEntityId(),menuId); + if(menuPlanItem!=null){ + map.put(menuId,menuPlanItem); + return menuPlanItem; + } + } + return null; + } +}