From 60e69815b0075ac16b8b57b466396b83d867f4f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Tue, 24 Sep 2024 11:34:03 +0800 Subject: [PATCH] 'commit' --- .../Menu/DatabaseToJsonConverter.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/dsRes/src/main/java/com/dsideal/resource/Menu/DatabaseToJsonConverter.java b/dsRes/src/main/java/com/dsideal/resource/Menu/DatabaseToJsonConverter.java index 88a63580..bd54b265 100644 --- a/dsRes/src/main/java/com/dsideal/resource/Menu/DatabaseToJsonConverter.java +++ b/dsRes/src/main/java/com/dsideal/resource/Menu/DatabaseToJsonConverter.java @@ -1,5 +1,6 @@ package com.dsideal.resource.Menu; +import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.jfinal.kit.Prop; @@ -9,6 +10,7 @@ import com.jfinal.plugin.hikaricp.HikariCpPlugin; import com.dsideal.resource.Plugin.YamlProp; import com.jfinal.plugin.activerecord.Record; +import java.util.ArrayList; import java.util.List; public class DatabaseToJsonConverter { @@ -23,17 +25,17 @@ public class DatabaseToJsonConverter { arp.start(); - Menu rootMenu = fetchMenu(-1); // 从父ID为null开始递归 + List rootMenu = fetchMenu(-1); // 从父ID为null开始递归 + ObjectMapper mapper = new ObjectMapper(); - String json = mapper.writeValueAsString(rootMenu.getChildren()); + String json = mapper.writeValueAsString(rootMenu.getFirst()); System.out.println(json); - } - private static Menu fetchMenu(Integer parentId) { + private static List fetchMenu(Integer parentId) { String sql = "select * from t_base_menu where parent_id = ?"; List list = Db.find(sql, parentId); - Menu bigMenu = new Menu(); + List res = new ArrayList<>(); for (Record rs : list) { if (rs == null) return null; @@ -58,16 +60,11 @@ public class DatabaseToJsonConverter { meta.setAffix(true); meta.setKeepAlive(true); sMenu.setMeta(meta); - // 递归查找子菜单 - Menu childMenu = fetchMenu(rs.getInt("menu_id")); - if (childMenu != null && bigMenu.getChildren() != null) { - sMenu.getChildren().add(childMenu); - } - if (sMenu != null) { - bigMenu.getChildren().add(sMenu); - } + List childMenu = fetchMenu(rs.getInt("menu_id")); + sMenu.setChildren(childMenu); + res.add(sMenu); } - return bigMenu; + return res; } }