Parcourir la source

尝试新菜单

lighter il y a 4 ans
Parent
commit
f5e2c79b54

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>9.9.2</version>
+    <version>9.9.4</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 6 - 0
src/main/java/thyyxxk/webserver/controller/LoginController.java

@@ -6,6 +6,7 @@ import thyyxxk.webserver.config.auth.PassToken;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.entity.login.UserInfo;
+import thyyxxk.webserver.entity.login.VueMenu;
 import thyyxxk.webserver.entity.settings.permissions.MenuItem;
 import thyyxxk.webserver.service.LoginService;
 
@@ -39,4 +40,9 @@ public class LoginController {
     public ResultVo<List<CodeName>> getWards() {
         return service.getWards();
     }
+
+    @GetMapping("/fetchVueMenus")
+    public ResultVo<List<VueMenu>> fetchVueMenus() {
+        return service.fetchVueMenus();
+    }
 }

+ 3 - 0
src/main/java/thyyxxk/webserver/dao/his/LoginDao.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.entity.login.UserInfo;
+import thyyxxk.webserver.entity.login.VueMenu;
 import thyyxxk.webserver.entity.settings.permissions.MenuItem;
 
 import java.util.List;
@@ -55,4 +56,6 @@ public interface LoginDao {
             "</script>")
     List<MenuItem> selectMenusByRoles(@Param("roles") List<Integer> roles);
 
+    @Select("select * from t_intergration_platform_menu")
+    List<VueMenu> selectAllMenus();
 }

+ 57 - 0
src/main/java/thyyxxk/webserver/entity/login/VueMenu.java

@@ -0,0 +1,57 @@
+package thyyxxk.webserver.entity.login;
+
+import java.io.Serializable;
+import java.util.List;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+@Data
+public class VueMenu implements Serializable {
+
+	private static final long serialVersionUID =  3627463231401203121L;
+
+	/**
+	 * id
+	 */
+	private Integer id;
+
+	/**
+	 * 类型:1-父级菜单,2-子级菜单
+	 */
+	private Integer type;
+
+	/**
+	 * 路径
+	 */
+	private String path;
+
+	/**
+	 * 标题
+	 */
+	private String metaTitle;
+
+	/**
+	 * 图标
+	 */
+	private String metaIcon;
+
+	/**
+	 * 组件路径
+	 */
+	private String componentPath;
+
+	/**
+	 * 父id
+	 */
+	private Integer parent;
+
+	/**
+	 * 重定向至
+	 */
+	private String redirect;
+
+	private JSONObject meta;
+
+	private List<VueMenu> children;
+}

+ 12 - 0
src/main/java/thyyxxk/webserver/service/LoginService.java

@@ -8,6 +8,7 @@ import thyyxxk.webserver.dao.his.LoginDao;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.entity.login.UserInfo;
+import thyyxxk.webserver.entity.login.VueMenu;
 import thyyxxk.webserver.entity.settings.permissions.MenuItem;
 import thyyxxk.webserver.utils.ResultVoUtil;
 import thyyxxk.webserver.utils.SnowFlakeId;
@@ -61,6 +62,17 @@ public class LoginService {
         return TreeUtil.getMenuTree(tempList);
     }
 
+    public ResultVo<List<VueMenu>> fetchVueMenus() {
+//        List<Integer> roles = dao.getUserRoles(TokenUtil.getTokenUserId());
+//        if (null == roles || roles.isEmpty()) {
+//            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请联系管理员为您分配角色权限。");
+//        }
+//        List<MenuItem> tempList = dao.selectMenusByRoles(roles);
+//        return TreeUtil.getMenuTree(tempList);
+        List<VueMenu> temp = dao.selectAllMenus();
+        return TreeUtil.getVueMenuTree(temp);
+    }
+
     public ResultVo<List<CodeName>> getWards() {
         String code = TokenUtil.getTokenUserId();
         List<Integer> roles = dao.getUserRoles(code);

+ 28 - 0
src/main/java/thyyxxk/webserver/utils/TreeUtil.java

@@ -2,6 +2,7 @@ package thyyxxk.webserver.utils;
 
 import com.alibaba.fastjson.JSONObject;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.login.VueMenu;
 import thyyxxk.webserver.entity.settings.permissions.MenuItem;
 
 import java.util.ArrayList;
@@ -42,4 +43,31 @@ public class TreeUtil {
         }
         return ResultVoUtil.success(resultList);
     }
+
+    public static ResultVo<List<VueMenu>> getVueMenuTree(List<VueMenu> tempList) {
+        List<VueMenu> resultList = new ArrayList<>();
+        Map<Integer, VueMenu> treeMap = new HashMap<>(tempList.size());
+        for (VueMenu item : tempList) {
+            JSONObject meta = new JSONObject();
+            if (StringUtil.notBlank(item.getMetaIcon())) {
+                meta.put("icon", item.getMetaIcon());
+            }
+            meta.put("title", item.getMetaTitle());
+            item.setMeta(meta);
+            treeMap.put(item.getId(), item);
+            if (0 == item.getParent()) {
+                resultList.add(item);
+            }
+        }
+        for (VueMenu item : tempList) {
+            VueMenu template = treeMap.get(item.getParent());
+            if (null != template) {
+                if (null == template.getChildren()) {
+                    template.setChildren(new ArrayList<>());
+                }
+                template.getChildren().add(item);
+            }
+        }
+        return ResultVoUtil.success(resultList);
+    }
 }

+ 1 - 1
src/main/resources/application.yml

@@ -8,7 +8,7 @@ spring:
     cache: false
   datasource:
     dynamic:
-      primary: dev
+      primary: his
       strict: false
       datasource:
         his: