diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java index 52881156a..1352ed1ac 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.CutEnum; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresRoles; @@ -54,7 +55,7 @@ public class SysPermissionController { /** * 加载数据节点 - * + * * @return */ @RequestMapping(value = "/page", method = RequestMethod.GET) @@ -173,7 +174,7 @@ public class SysPermissionController { // /** // * 查询用户拥有的菜单权限和按钮权限(根据用户账号) -// * +// * // * @return // */ // @RequestMapping(value = "/queryByUser", method = RequestMethod.GET) @@ -195,11 +196,11 @@ public class SysPermissionController { /** * 查询用户拥有的菜单权限和按钮权限 - * + * * @return */ @RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET) - public Result getUserPermissionByToken() { + public Result getUserPermissionByToken(String cut) { Result result = new Result(); try { //直接获取当前用户不适用前端token @@ -217,7 +218,7 @@ public class SysPermissionController { //update-end-author:taoyan date:20200211 for: TASK #3368 【路由缓存】首页的缓存设置有问题,需要根据后台的路由配置来实现是否缓存 JSONObject json = new JSONObject(); JSONArray menujsonArray = new JSONArray(); - this.getPermissionJsonArray(menujsonArray, metaList, null); + this.getPermissionJsonArray(menujsonArray, metaList, null,cut); JSONArray authjsonArray = new JSONArray(); this.getAuthJsonArray(authjsonArray, metaList); //查询所有的权限 @@ -237,7 +238,7 @@ public class SysPermissionController { result.setResult(json); result.success("查询成功"); } catch (Exception e) { - result.error500("查询失败:" + e.getMessage()); + result.error500("查询失败:" + e.getMessage()); log.error(e.getMessage(), e); } return result; @@ -328,7 +329,7 @@ public class SysPermissionController { /** * 获取全部的权限树 - * + * * @return */ @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) @@ -360,7 +361,7 @@ public class SysPermissionController { /** * 异步加载数据节点 - * + * * @return */ @RequestMapping(value = "/queryListAsync", method = RequestMethod.GET) @@ -383,7 +384,7 @@ public class SysPermissionController { /** * 查询角色授权 - * + * * @return */ @RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET) @@ -401,7 +402,7 @@ public class SysPermissionController { /** * 保存角色授权 - * + * * @return */ @RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST) @@ -460,7 +461,7 @@ public class SysPermissionController { } } - + /** * 获取权限JSON数组 * @param jsonArray @@ -505,20 +506,20 @@ public class SysPermissionController { * @param metaList * @param parentJson */ - private void getPermissionJsonArray(JSONArray jsonArray, List metaList, JSONObject parentJson) { + private void getPermissionJsonArray(JSONArray jsonArray, List metaList, JSONObject parentJson,String cut) { for (SysPermission permission : metaList) { if (permission.getMenuType() == null) { continue; } String tempPid = permission.getParentId(); - JSONObject json = getPermissionJsonObject(permission); + JSONObject json = getPermissionJsonObject(permission,cut); if(json==null) { continue; } if (parentJson == null && oConvertUtils.isEmpty(tempPid)) { jsonArray.add(json); if (!permission.isLeaf()) { - getPermissionJsonArray(jsonArray, metaList, json); + getPermissionJsonArray(jsonArray, metaList, json,cut); } } else if (parentJson != null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))) { // 类型( 0:一级菜单 1:子菜单 2:按钮 ) @@ -542,7 +543,7 @@ public class SysPermissionController { } if (!permission.isLeaf()) { - getPermissionJsonArray(jsonArray, metaList, json); + getPermissionJsonArray(jsonArray, metaList, json,cut); } } } @@ -555,7 +556,7 @@ public class SysPermissionController { * @param permission * @return */ - private JSONObject getPermissionJsonObject(SysPermission permission) { + private JSONObject getPermissionJsonObject(SysPermission permission,String cut) { JSONObject json = new JSONObject(); // 类型(0:一级菜单 1:子菜单 2:按钮) if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) { @@ -610,7 +611,11 @@ public class SysPermissionController { } /* update_end author:wuxianquan date:20190908 for: 往菜单信息里添加外链菜单打开方式*/ - meta.put("title", permission.getName()); + if(CutEnum.CN.getValue().equals(cut)){ + meta.put("title", permission.getName()); + }else{ + meta.put("title", permission.getMenuEn()); + } //update-begin--Author:scott Date:20201015 for:路由缓存问题,关闭了tab页时再打开就不刷新 #842 String component = permission.getComponent(); @@ -642,7 +647,7 @@ public class SysPermissionController { /** * 判断是否外网URL 例如: http://localhost:8080/jero-boot/swagger-ui.html#/ 支持特殊格式: {{ * window._CONFIG['domianURL'] }}/druid/ {{ JS代码片段 }},前台解析会自动执行JS代码片段 - * + * * @return */ private boolean isWWWHttpUrl(String url) { @@ -655,7 +660,7 @@ public class SysPermissionController { /** * 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) 举例: URL = /isystem/role RouteName = * isystem-role - * + * * @return */ private String urlToRouteName(String url) { @@ -675,7 +680,7 @@ public class SysPermissionController { /** * 根据菜单id来获取其对应的权限数据 - * + * * @param sysPermissionDataRule * @return */ @@ -690,7 +695,7 @@ public class SysPermissionController { /** * 添加菜单权限数据 - * + * * @param sysPermissionDataRule * @return */ @@ -725,7 +730,7 @@ public class SysPermissionController { /** * 删除菜单权限数据 - * + * * @param id * @return */ @@ -745,7 +750,7 @@ public class SysPermissionController { /** * 查询菜单权限数据 - * + * * @param sysPermissionDataRule * @return */ diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java index 460e183e4..65bc19e53 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java @@ -42,6 +42,8 @@ public class SysPermission implements Serializable { */ private String name; + private String menuEn; + /** * 菜单权限编码,例如:“sys:schedule:list,sys:schedule:info”,多个逗号隔开 */ @@ -60,7 +62,7 @@ public class SysPermission implements Serializable { * 组件 */ private String component; - + /** * 组件名字 */ @@ -91,7 +93,7 @@ public class SysPermission implements Serializable { */ @TableField(value="is_leaf") private boolean leaf; - + /** * 是否路由菜单: 0:不是 1:是(默认值1) */ @@ -119,12 +121,12 @@ public class SysPermission implements Serializable { * 删除状态 0正常 1已删除 */ private Integer delFlag; - + /** * 是否配置菜单的数据权限 1是0否 默认0 */ private Integer ruleFlag; - + /** * 是否隐藏路由菜单: 0否,1是(默认值0) */ @@ -144,10 +146,10 @@ public class SysPermission implements Serializable { * 更新时间 */ private Date updateTime; - + /**按钮权限状态(0无效1有效)*/ private java.lang.String status; - + /**alwaysShow*/ private boolean alwaysShow; @@ -157,7 +159,7 @@ public class SysPermission implements Serializable { /*update_end author:wuxianquan date:20190908 for:实体增加字段 */ public SysPermission() { - + } public SysPermission(boolean index) { if(index) { @@ -177,6 +179,6 @@ public class SysPermission implements Serializable { this.leaf=true; this.hidden=false; } - + } } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/TreeModel.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/TreeModel.java index 77e2d21cb..a8751db8c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/TreeModel.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/TreeModel.java @@ -12,23 +12,25 @@ import com.jero.modules.system.entity.SysPermission; * 树形列表用到 */ public class TreeModel implements Serializable { - + private static final long serialVersionUID = 4013193970046502756L; private String key; - + private String title; - + private String slotTitle; - + private boolean isLeaf; - + private String icon; - + + private String menuEn; + private Integer ruleFlag; - + private Map scopedSlots; - + public Map getScopedSlots() { return scopedSlots; } @@ -37,6 +39,14 @@ public class TreeModel implements Serializable { this.scopedSlots = scopedSlots; } + public String getMenuEn() { + return menuEn; + } + + public void setMenuEn(String menuEn) { + this.menuEn = menuEn; + } + public String getKey() { return key; } @@ -68,7 +78,7 @@ public class TreeModel implements Serializable { public void setIcon(String icon) { this.icon = icon; } - + private List children; public List getChildren() { @@ -80,9 +90,9 @@ public class TreeModel implements Serializable { } public TreeModel() { - + } - + public TreeModel(SysPermission permission) { this.key = permission.getId(); this.icon = permission.getIcon(); @@ -92,13 +102,15 @@ public class TreeModel implements Serializable { this.value = permission.getId(); this.isLeaf = permission.isLeaf(); this.label = permission.getName(); + this.menuEn = permission.getMenuEn(); if(!permission.isLeaf()) { this.children = new ArrayList(); } } - + public TreeModel(String key,String parentId,String slotTitle,Integer ruleFlag,boolean isLeaf) { this.key = key; + this.menuEn = getMenuEn(); this.parentId = parentId; this.ruleFlag=ruleFlag; this.slotTitle = slotTitle; @@ -111,14 +123,14 @@ public class TreeModel implements Serializable { this.children = new ArrayList(); } } - + private String parentId; - + private String label; - + private String value; - - + + public String getParentId() { return parentId; }