浏览代码

菜单翻译

车车 5 月之前
父节点
当前提交
3fb68515f5

+ 68 - 0
ktg-admin/src/main/resources/i18n/messages.properties

@@ -438,3 +438,71 @@ assert.loto.switch.map.id.not.null=\u5F00\u5173\u5E03\u5C40ID\u4E0D\u80FD\u4E3A\
 
 # \u5176\u4ED6
 assert.res.api.check.id.not.null=checkId\u4E0D\u53EF\u4E3A\u7A7A\uFF01
+
+
+\u4EBA\u5458\u7BA1\u7406=\u4EBA\u5458\u7BA1\u7406
+\u90E8\u95E8\u7BA1\u7406=\u90E8\u95E8\u7BA1\u7406
+\u5C97\u4F4D\u7BA1\u7406=\u5C97\u4F4D\u7BA1\u7406
+\u5355\u4F4D\u7BA1\u7406=\u5355\u4F4D\u7BA1\u7406
+\u89D2\u8272\u7BA1\u7406=\u89D2\u8272\u7BA1\u7406
+\u786C\u4EF6\u7BA1\u7406=\u786C\u4EF6\u7BA1\u7406
+\u786C\u4EF6\u7C7B\u578B=\u786C\u4EF6\u7C7B\u578B
+\u9501\u5177\u673A\u6784\u7C7B\u578B=\u9501\u5177\u673A\u6784\u7C7B\u578B
+\u6302\u9501\u7C7B\u578B=\u6302\u9501\u7C7B\u578B
+\u786C\u4EF6=\u786C\u4EF6
+\u786C\u4EF6\u4FE1\u606F=\u786C\u4EF6\u4FE1\u606F
+\u9501\u5177\u673A\u6784\u4FE1\u606F=\u9501\u5177\u673A\u6784\u4FE1\u606F
+\u94A5\u5319\u4FE1\u606F=\u94A5\u5319\u4FE1\u606F
+\u6302\u9501\u4FE1\u606F=\u6302\u9501\u4FE1\u606F
+RFID\u6807\u8BC6=RFID\u6807\u8BC6
+\u9501\u67DC\u7BA1\u7406=\u9501\u67DC\u7BA1\u7406
+\u5DE5\u5361\u4FE1\u606F=\u5DE5\u5361\u4FE1\u606F
+\u8BBE\u5907\u7BA1\u7406=\u8BBE\u5907\u7BA1\u7406
+\u8BBE\u5907\u7C7B\u578B\u8BBE\u7F6E=\u8BBE\u5907\u7C7B\u578B\u8BBE\u7F6E
+\u9501\u5B9A\u7AD9\u7BA1\u7406=\u9501\u5B9A\u7AD9\u7BA1\u7406
+\u5F00\u5173\u5E03\u5C40\u7BA1\u7406=\u5F00\u5173\u5E03\u5C40\u7BA1\u7406
+\u5F00\u5173\u7535\u673A\u7BA1\u7406=\u5F00\u5173\u7535\u673A\u7BA1\u7406
+\u9694\u79BB\u70B9\u7BA1\u7406=\u9694\u79BB\u70B9\u7BA1\u7406
+SOP\u7BA1\u7406=SOP\u7BA1\u7406
+SOP\u5217\u8868=SOP\u5217\u8868
+\u4F5C\u4E1A\u7BA1\u7406=\u4F5C\u4E1A\u7BA1\u7406
+\u4F5C\u4E1A\u6267\u884C=\u4F5C\u4E1A\u6267\u884C
+\u4F5C\u4E1A\u5217\u8868=\u4F5C\u4E1A\u5217\u8868
+\u6570\u636E\u7EDF\u8BA1=\u6570\u636E\u7EDF\u8BA1
+\u57FA\u7840\u6570\u636E\u7EDF\u8BA1=\u57FA\u7840\u6570\u636E\u7EDF\u8BA1
+\u9886\u53D6\u5F52\u8FD8\u7EDF\u8BA1=\u9886\u53D6\u5F52\u8FD8\u7EDF\u8BA1
+\u7269\u8D44\u7BA1\u7406=\u7269\u8D44\u7BA1\u7406
+\u7269\u8D44\u67DC=\u7269\u8D44\u67DC
+\u7269\u8D44\u7C7B\u578B=\u7269\u8D44\u7C7B\u578B
+\u7269\u8D44\u76D8\u70B9=\u7269\u8D44\u76D8\u70B9
+\u7269\u8D44\u89C4\u683C\u79CD\u7C7B=\u7269\u8D44\u89C4\u683C\u79CD\u7C7B
+\u7269\u8D44\u6E05\u5355=\u7269\u8D44\u6E05\u5355
+\u7269\u8D44\u9886\u53D6\u5F52\u8FD8=\u7269\u8D44\u9886\u53D6\u5F52\u8FD8
+\u7269\u8D44\u68C0\u67E5\u8BA1\u5212=\u7269\u8D44\u68C0\u67E5\u8BA1\u5212
+\u7269\u8D44\u68C0\u67E5\u8BB0\u5F55=\u7269\u8D44\u68C0\u67E5\u8BB0\u5F55
+\u7EF4\u4FEE/\u66F4\u6362\u8BB0\u5F55=\u7EF4\u4FEE/\u66F4\u6362\u8BB0\u5F55
+\u7269\u8D44\u67DC\u9ED1\u540D\u5355=\u7269\u8D44\u67DC\u9ED1\u540D\u5355
+\u7269\u8D44\u4F7F\u7528\u8BF4\u660E=\u7269\u8D44\u4F7F\u7528\u8BF4\u660E
+\u5F02\u5E38\u7BA1\u7406=\u5F02\u5E38\u7BA1\u7406
+\u7269\u8D44\u5F52\u8FD8\u5F02\u5E38=\u7269\u8D44\u5F52\u8FD8\u5F02\u5E38
+\u7269\u8D44\u67DC\u95E8\u5F02\u5E38=\u7269\u8D44\u67DC\u95E8\u5F02\u5E38
+\u4EBA\u5DE5\u4E0A\u4F20\u5F02\u5E38=\u4EBA\u5DE5\u4E0A\u4F20\u5F02\u5E38
+\u90AE\u4EF6\u7BA1\u7406=\u90AE\u4EF6\u7BA1\u7406
+\u90AE\u4EF6\u6A21\u677F=\u90AE\u4EF6\u6A21\u677F
+\u90AE\u4EF6\u63D0\u9192=\u90AE\u4EF6\u63D0\u9192
+\u7CFB\u7EDF\u7BA1\u7406=\u7CFB\u7EDF\u7BA1\u7406
+\u83DC\u5355\u7BA1\u7406=\u83DC\u5355\u7BA1\u7406
+\u5B57\u5178\u7BA1\u7406=\u5B57\u5178\u7BA1\u7406
+\u901A\u77E5\u516C\u544A=\u901A\u77E5\u516C\u544A
+\u65E5\u5FD7\u7BA1\u7406=\u65E5\u5FD7\u7BA1\u7406
+\u64CD\u4F5C\u65E5\u5FD7=\u64CD\u4F5C\u65E5\u5FD7
+\u767B\u5F55\u65E5\u5FD7=\u767B\u5F55\u65E5\u5FD7
+\u7F16\u7801\u89C4\u5219=\u7F16\u7801\u89C4\u5219
+\u57FA\u7840\u6570\u636E=\u57FA\u7840\u6570\u636E
+\u5730\u56FE\u53C2\u6570=\u5730\u56FE\u53C2\u6570
+\u5730\u56FE\u70B9\u4F4D=\u5730\u56FE\u70B9\u4F4D
+\u7CFB\u7EDF\u5DE5\u5177=\u7CFB\u7EDF\u5DE5\u5177
+\u8868\u5355\u6784\u5EFA=\u8868\u5355\u6784\u5EFA
+\u4EE3\u7801\u751F\u6210=\u4EE3\u7801\u751F\u6210
+\u7CFB\u7EDF\u63A5\u53E3=\u7CFB\u7EDF\u63A5\u53E3
+

+ 68 - 0
ktg-admin/src/main/resources/i18n/messages_en_US.properties

@@ -438,3 +438,71 @@ assert.loto.switch.map.id.not.null=Switch map ID required!
 
 # \u5176\u4ED6
 assert.res.api.check.id.not.null=Check ID required!
+
+
+\u4EBA\u5458\u7BA1\u7406=Personnel Mgmt
+\u90E8\u95E8\u7BA1\u7406=Dept Mgmt
+\u5C97\u4F4D\u7BA1\u7406=Position Mgmt
+\u5355\u4F4D\u7BA1\u7406=Unit Mgmt
+\u89D2\u8272\u7BA1\u7406=Role Mgmt
+\u786C\u4EF6\u7BA1\u7406=Hardware Mgmt
+\u786C\u4EF6\u7C7B\u578B=Hardware Type
+\u9501\u5177\u673A\u6784\u7C7B\u578B=Latch Type
+\u6302\u9501\u7C7B\u578B=Padlock Type
+\u786C\u4EF6=Hardware
+\u786C\u4EF6\u4FE1\u606F=Hardware Info
+\u9501\u5177\u673A\u6784\u4FE1\u606F=Latch Info
+\u94A5\u5319\u4FE1\u606F=Key Info
+\u6302\u9501\u4FE1\u606F=Padlock Info
+RFID\u6807\u8BC6=RFID Tag
+\u9501\u67DC\u7BA1\u7406=Lock Cabinet Mgmt
+\u5DE5\u5361\u4FE1\u606F=Job Card Info
+\u8BBE\u5907\u7BA1\u7406=Equipment Mgmt
+\u8BBE\u5907\u7C7B\u578B\u8BBE\u7F6E=Equipment Type Config
+\u9501\u5B9A\u7AD9\u7BA1\u7406=Lockout Station Mgmt
+\u5F00\u5173\u5E03\u5C40\u7BA1\u7406=Switch Layout Mgmt
+\u5F00\u5173\u7535\u673A\u7BA1\u7406=Switch Motor Mgmt
+\u9694\u79BB\u70B9\u7BA1\u7406=Isolation Point Mgmt
+SOP\u7BA1\u7406=SOP Mgmt
+SOP\u5217\u8868=SOP List
+\u4F5C\u4E1A\u7BA1\u7406=Work Order Mgmt
+\u4F5C\u4E1A\u6267\u884C=Work Order Execution
+\u4F5C\u4E1A\u5217\u8868=Work Order List
+\u6570\u636E\u7EDF\u8BA1=Data Analytics
+\u57FA\u7840\u6570\u636E\u7EDF\u8BA1=Base Stats
+\u9886\u53D6\u5F52\u8FD8\u7EDF\u8BA1=Pickup/Return Stats
+\u7269\u8D44\u7BA1\u7406=Material Mgmt
+\u7269\u8D44\u67DC=Material Cabinet
+\u7269\u8D44\u7C7B\u578B=Material Type
+\u7269\u8D44\u76D8\u70B9=Material Inventory
+\u7269\u8D44\u89C4\u683C\u79CD\u7C7B=Material Spec Types
+\u7269\u8D44\u6E05\u5355=Material List
+\u7269\u8D44\u9886\u53D6\u5F52\u8FD8=Material Pickup/Return
+\u7269\u8D44\u68C0\u67E5\u8BA1\u5212=Inspection Plan
+\u7269\u8D44\u68C0\u67E5\u8BB0\u5F55=Inspection Records
+\u7EF4\u4FEE/\u66F4\u6362\u8BB0\u5F55=Maintenance/Replacement Records
+\u7269\u8D44\u67DC\u9ED1\u540D\u5355=Blacklist
+\u7269\u8D44\u4F7F\u7528\u8BF4\u660E=Usage Guide
+\u5F02\u5E38\u7BA1\u7406=Exception Mgmt
+\u7269\u8D44\u5F52\u8FD8\u5F02\u5E38=Return Exception
+\u7269\u8D44\u67DC\u95E8\u5F02\u5E38=Cabinet Door Exception
+\u4EBA\u5DE5\u4E0A\u4F20\u5F02\u5E38=Manual Upload Exception
+\u90AE\u4EF6\u7BA1\u7406=Email Mgmt
+\u90AE\u4EF6\u6A21\u677F=Templates
+\u90AE\u4EF6\u63D0\u9192=Notifications
+\u7CFB\u7EDF\u7BA1\u7406=System Mgmt
+\u83DC\u5355\u7BA1\u7406=Menu Mgmt
+\u5B57\u5178\u7BA1\u7406=Dictionary Mgmt
+\u901A\u77E5\u516C\u544A=Announcements
+\u65E5\u5FD7\u7BA1\u7406=Log Mgmt
+\u64CD\u4F5C\u65E5\u5FD7=Operation Log
+\u767B\u5F55\u65E5\u5FD7=Login Log
+\u7F16\u7801\u89C4\u5219=Auto Code Rules
+\u57FA\u7840\u6570\u636E=Base Data
+\u5730\u56FE\u53C2\u6570=Map Params
+\u5730\u56FE\u70B9\u4F4D=Map Points
+\u7CFB\u7EDF\u5DE5\u5177=DevTools
+\u8868\u5355\u6784\u5EFA=Form Builder
+\u4EE3\u7801\u751F\u6210=Code Generator
+\u7CFB\u7EDF\u63A5\u53E3=API Mgmt
+

+ 82 - 129
ktg-system/src/main/java/com/ktg/system/service/impl/SysMenuServiceImpl.java

@@ -1,21 +1,12 @@
 package com.ktg.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import com.ktg.common.constant.Constants;
 import com.ktg.common.constant.UserConstants;
 import com.ktg.common.core.domain.TreeSelect;
 import com.ktg.common.core.domain.entity.SysMenu;
 import com.ktg.common.core.domain.entity.SysRole;
 import com.ktg.common.core.domain.entity.SysUser;
+import com.ktg.common.utils.MessageUtils;
 import com.ktg.common.utils.SecurityUtils;
 import com.ktg.common.utils.StringUtils;
 import com.ktg.system.domain.vo.MetaVo;
@@ -24,6 +15,11 @@ import com.ktg.system.mapper.SysMenuMapper;
 import com.ktg.system.mapper.SysRoleMapper;
 import com.ktg.system.mapper.SysRoleMenuMapper;
 import com.ktg.system.service.ISysMenuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 菜单 业务层处理
@@ -31,8 +27,7 @@ import com.ktg.system.service.ISysMenuService;
  * @author guoruan
  */
 @Service
-public class SysMenuServiceImpl implements ISysMenuService
-{
+public class SysMenuServiceImpl implements ISysMenuService {
     public static final String PREMISSION_STRING = "perms[\"{0}\"]";
 
     @Autowired
@@ -51,8 +46,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 菜单列表
      */
     @Override
-    public List<SysMenu> selectMenuList(Long userId)
-    {
+    public List<SysMenu> selectMenuList(Long userId) {
         return selectMenuList(new SysMenu(), userId);
     }
 
@@ -63,16 +57,12 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 菜单列表
      */
     @Override
-    public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
-    {
+    public List<SysMenu> selectMenuList(SysMenu menu, Long userId) {
         List<SysMenu> menuList = null;
         // 管理员显示所有菜单信息
-        if (SysUser.isAdmin(userId))
-        {
+        if (SysUser.isAdmin(userId)) {
             menuList = menuMapper.selectMenuList(menu);
-        }
-        else
-        {
+        } else {
             menu.getParams().put("userId", userId);
             menuList = menuMapper.selectMenuListByUserId(menu);
         }
@@ -86,14 +76,11 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 权限列表
      */
     @Override
-    public Set<String> selectMenuPermsByUserId(Long userId)
-    {
+    public Set<String> selectMenuPermsByUserId(Long userId) {
         List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
         Set<String> permsSet = new HashSet<>();
-        for (String perm : perms)
-        {
-            if (StringUtils.isNotEmpty(perm))
-            {
+        for (String perm : perms) {
+            if (StringUtils.isNotEmpty(perm)) {
                 permsSet.addAll(Arrays.asList(perm.trim().split(",")));
             }
         }
@@ -107,15 +94,11 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 菜单列表
      */
     @Override
-    public List<SysMenu> selectMenuTreeByUserId(Long userId)
-    {
+    public List<SysMenu> selectMenuTreeByUserId(Long userId) {
         List<SysMenu> menus = null;
-        if (SecurityUtils.isAdmin(userId))
-        {
+        if (SecurityUtils.isAdmin(userId)) {
             menus = menuMapper.selectMenuTreeAll();
-        }
-        else
-        {
+        } else {
             menus = menuMapper.selectMenuTreeByUserId(userId);
         }
         return getChildPerms(menus, 0);
@@ -128,8 +111,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 选中菜单列表
      */
     @Override
-    public List<Long> selectMenuListByRoleId(Long roleId)
-    {
+    public List<Long> selectMenuListByRoleId(Long roleId) {
         SysRole role = roleMapper.selectRoleById(roleId);
         return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
     }
@@ -141,11 +123,9 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 路由列表
      */
     @Override
-    public List<RouterVo> buildMenus(List<SysMenu> menus)
-    {
+    public List<RouterVo> buildMenus(List<SysMenu> menus) {
         List<RouterVo> routers = new LinkedList<RouterVo>();
-        for (SysMenu menu : menus)
-        {
+        for (SysMenu menu : menus) {
             RouterVo router = new RouterVo();
             router.setHidden("1".equals(menu.getVisible()));
             router.setName(getRouteName(menu));
@@ -154,14 +134,11 @@ public class SysMenuServiceImpl implements ISysMenuService
             router.setQuery(menu.getQuery());
             router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
             List<SysMenu> cMenus = menu.getChildren();
-            if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()))
-            {
+            if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
                 router.setAlwaysShow(true);
                 router.setRedirect("noRedirect");
                 router.setChildren(buildMenus(cMenus));
-            }
-            else if (isMenuFrame(menu))
-            {
+            } else if (isMenuFrame(menu)) {
                 router.setMeta(null);
                 List<RouterVo> childrenList = new ArrayList<RouterVo>();
                 RouterVo children = new RouterVo();
@@ -172,9 +149,7 @@ public class SysMenuServiceImpl implements ISysMenuService
                 children.setQuery(menu.getQuery());
                 childrenList.add(children);
                 router.setChildren(childrenList);
-            }
-            else if (menu.getParentId().intValue() == 0 && isInnerLink(menu))
-            {
+            } else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) {
                 router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon()));
                 router.setPath("/");
                 List<RouterVo> childrenList = new ArrayList<RouterVo>();
@@ -189,6 +164,15 @@ public class SysMenuServiceImpl implements ISysMenuService
             }
             routers.add(router);
         }
+        // 国际化
+        for (RouterVo router : routers) {
+            if (StringUtils.isNotBlank(router.getMeta().getTitle())) {
+                try {
+                    router.getMeta().setTitle(MessageUtils.message(router.getMeta().getTitle()));
+                } catch (Exception e) {
+                }
+            }
+        }
         return routers;
     }
 
@@ -199,26 +183,21 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 树结构列表
      */
     @Override
-    public List<SysMenu> buildMenuTree(List<SysMenu> menus)
-    {
+    public List<SysMenu> buildMenuTree(List<SysMenu> menus) {
         List<SysMenu> returnList = new ArrayList<SysMenu>();
         List<Long> tempList = new ArrayList<Long>();
-        for (SysMenu dept : menus)
-        {
+        for (SysMenu dept : menus) {
             tempList.add(dept.getMenuId());
         }
-        for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext();)
-        {
+        for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) {
             SysMenu menu = (SysMenu) iterator.next();
             // 如果是顶级节点, 遍历该父节点的所有子节点
-            if (!tempList.contains(menu.getParentId()))
-            {
+            if (!tempList.contains(menu.getParentId())) {
                 recursionFn(menus, menu);
                 returnList.add(menu);
             }
         }
-        if (returnList.isEmpty())
-        {
+        if (returnList.isEmpty()) {
             returnList = menus;
         }
         return returnList;
@@ -231,8 +210,16 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 下拉树结构列表
      */
     @Override
-    public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus)
-    {
+    public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) {
+        // 国际化
+        for (SysMenu menu : menus) {
+            if (StringUtils.isNotBlank(menu.getMenuName())) {
+                try {
+                    menu.setMenuName(MessageUtils.message(menu.getMenuName()));
+                } catch (Exception e) {
+                }
+            }
+        }
         List<SysMenu> menuTrees = buildMenuTree(menus);
         return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
     }
@@ -244,8 +231,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 菜单信息
      */
     @Override
-    public SysMenu selectMenuById(Long menuId)
-    {
+    public SysMenu selectMenuById(Long menuId) {
         return menuMapper.selectMenuById(menuId);
     }
 
@@ -256,8 +242,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 结果
      */
     @Override
-    public boolean hasChildByMenuId(Long menuId)
-    {
+    public boolean hasChildByMenuId(Long menuId) {
         int result = menuMapper.hasChildByMenuId(menuId);
         return result > 0 ? true : false;
     }
@@ -269,8 +254,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 结果
      */
     @Override
-    public boolean checkMenuExistRole(Long menuId)
-    {
+    public boolean checkMenuExistRole(Long menuId) {
         int result = roleMenuMapper.checkMenuExistRole(menuId);
         return result > 0 ? true : false;
     }
@@ -282,8 +266,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 结果
      */
     @Override
-    public int insertMenu(SysMenu menu)
-    {
+    public int insertMenu(SysMenu menu) {
         return menuMapper.insertMenu(menu);
     }
 
@@ -294,8 +277,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 结果
      */
     @Override
-    public int updateMenu(SysMenu menu)
-    {
+    public int updateMenu(SysMenu menu) {
         return menuMapper.updateMenu(menu);
     }
 
@@ -306,8 +288,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 结果
      */
     @Override
-    public int deleteMenuById(Long menuId)
-    {
+    public int deleteMenuById(Long menuId) {
         return menuMapper.deleteMenuById(menuId);
     }
 
@@ -318,12 +299,10 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @return 结果
      */
     @Override
-    public String checkMenuNameUnique(SysMenu menu)
-    {
+    public String checkMenuNameUnique(SysMenu menu) {
         Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
         SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
-        if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue())
-        {
+        if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;
@@ -335,12 +314,10 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param menu 菜单信息
      * @return 路由名称
      */
-    public String getRouteName(SysMenu menu)
-    {
+    public String getRouteName(SysMenu menu) {
         String routerName = StringUtils.capitalize(menu.getPath());
         // 非外链并且是一级目录(类型为目录)
-        if (isMenuFrame(menu))
-        {
+        if (isMenuFrame(menu)) {
             routerName = StringUtils.EMPTY;
         }
         return routerName;
@@ -352,23 +329,19 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param menu 菜单信息
      * @return 路由地址
      */
-    public String getRouterPath(SysMenu menu)
-    {
+    public String getRouterPath(SysMenu menu) {
         String routerPath = menu.getPath();
         // 内链打开外网方式
-        if (menu.getParentId().intValue() != 0 && isInnerLink(menu))
-        {
+        if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
             routerPath = innerLinkReplaceEach(routerPath);
         }
         // 非外链并且是一级目录(类型为目录)
         if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType())
-                && UserConstants.NO_FRAME.equals(menu.getIsFrame()))
-        {
+                && UserConstants.NO_FRAME.equals(menu.getIsFrame())) {
             routerPath = "/" + menu.getPath();
         }
         // 非外链并且是一级目录(类型为菜单)
-        else if (isMenuFrame(menu))
-        {
+        else if (isMenuFrame(menu)) {
             routerPath = "/";
         }
         return routerPath;
@@ -380,19 +353,13 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param menu 菜单信息
      * @return 组件信息
      */
-    public String getComponent(SysMenu menu)
-    {
+    public String getComponent(SysMenu menu) {
         String component = UserConstants.LAYOUT;
-        if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu))
-        {
+        if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
             component = menu.getComponent();
-        }
-        else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu))
-        {
+        } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
             component = UserConstants.INNER_LINK;
-        }
-        else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu))
-        {
+        } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) {
             component = UserConstants.PARENT_VIEW;
         }
         return component;
@@ -404,8 +371,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param menu 菜单信息
      * @return 结果
      */
-    public boolean isMenuFrame(SysMenu menu)
-    {
+    public boolean isMenuFrame(SysMenu menu) {
         return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType())
                 && menu.getIsFrame().equals(UserConstants.NO_FRAME);
     }
@@ -416,8 +382,7 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param menu 菜单信息
      * @return 结果
      */
-    public boolean isInnerLink(SysMenu menu)
-    {
+    public boolean isInnerLink(SysMenu menu) {
         return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath());
     }
 
@@ -427,27 +392,23 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param menu 菜单信息
      * @return 结果
      */
-    public boolean isParentView(SysMenu menu)
-    {
+    public boolean isParentView(SysMenu menu) {
         return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType());
     }
 
     /**
      * 根据父节点的ID获取所有子节点
      *
-     * @param list 分类表
+     * @param list     分类表
      * @param parentId 传入的父节点ID
      * @return String
      */
-    public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId)
-    {
+    public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) {
         List<SysMenu> returnList = new ArrayList<SysMenu>();
-        for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext();)
-        {
+        for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) {
             SysMenu t = (SysMenu) iterator.next();
             // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
-            if (t.getParentId() == parentId)
-            {
+            if (t.getParentId() == parentId) {
                 recursionFn(list, t);
                 returnList.add(t);
             }
@@ -461,15 +422,12 @@ public class SysMenuServiceImpl implements ISysMenuService
      * @param list
      * @param t
      */
-    private void recursionFn(List<SysMenu> list, SysMenu t)
-    {
+    private void recursionFn(List<SysMenu> list, SysMenu t) {
         // 得到子节点列表
         List<SysMenu> childList = getChildList(list, t);
         t.setChildren(childList);
-        for (SysMenu tChild : childList)
-        {
-            if (hasChild(list, tChild))
-            {
+        for (SysMenu tChild : childList) {
+            if (hasChild(list, tChild)) {
                 recursionFn(list, tChild);
             }
         }
@@ -478,15 +436,12 @@ public class SysMenuServiceImpl implements ISysMenuService
     /**
      * 得到子节点列表
      */
-    private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t)
-    {
+    private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) {
         List<SysMenu> tlist = new ArrayList<SysMenu>();
         Iterator<SysMenu> it = list.iterator();
-        while (it.hasNext())
-        {
+        while (it.hasNext()) {
             SysMenu n = (SysMenu) it.next();
-            if (n.getParentId().longValue() == t.getMenuId().longValue())
-            {
+            if (n.getParentId().longValue() == t.getMenuId().longValue()) {
                 tlist.add(n);
             }
         }
@@ -496,8 +451,7 @@ public class SysMenuServiceImpl implements ISysMenuService
     /**
      * 判断是否有子节点
      */
-    private boolean hasChild(List<SysMenu> list, SysMenu t)
-    {
+    private boolean hasChild(List<SysMenu> list, SysMenu t) {
         return getChildList(list, t).size() > 0;
     }
 
@@ -506,9 +460,8 @@ public class SysMenuServiceImpl implements ISysMenuService
      *
      * @return
      */
-    public String innerLinkReplaceEach(String path)
-    {
-        return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS },
-                new String[] { "", "" });
+    public String innerLinkReplaceEach(String path) {
+        return StringUtils.replaceEach(path, new String[]{Constants.HTTP, Constants.HTTPS},
+                new String[]{"", ""});
     }
 }