import java.sql.*; public class QueryAdminMenus8 { public static void main(String[] args) throws Exception { String url = "jdbc:mysql://cq-cdb-8fjmemkb.sql.tencentcdb.com:27220/ylrz_saas?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"; try (Connection c = DriverManager.getConnection(url, "root", "Ylrz_1q2w3e4r5t6y"); Statement st = c.createStatement()) { System.out.println("=== watch/iot or id 32850-32852 all tables ==="); for (String t : new String[]{"sys_menu", "tenant_sys_menu"}) { try (ResultSet rs = st.executeQuery( "SELECT menu_id, menu_name, parent_id, path, component FROM " + t + " WHERE menu_id BETWEEN 32848 AND 32855 OR component LIKE '%watch/iot%' " + "OR component LIKE '%tenant/upgrade%' ORDER BY menu_id")) { while (rs.next()) { System.out.printf("%s %s | %s | parent=%s | path=%s | comp=%s%n", t, rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5)); } } } System.out.println("\n=== parent chain for 32850 ==="); try (ResultSet rs = st.executeQuery( "SELECT m.menu_id, m.menu_name, m.path, m.component, p.menu_id pid, p.menu_name pname, p.path ppath " + "FROM sys_menu m LEFT JOIN sys_menu p ON m.parent_id=p.menu_id WHERE m.menu_id=32850")) { if (rs.next()) { System.out.printf("32850 %s path=%s comp=%s parent=%s(%s) ppath=%s%n", rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7)); } } try (ResultSet rs = st.executeQuery( "SELECT menu_id, menu_name, path, component FROM sys_menu WHERE menu_id IN (2820,2800)")) { while (rs.next()) { System.out.printf("ancestor %s | %s | path=%s | comp=%s%n", rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4)); } } System.out.println("\n=== all C menus missing svg (icon not el-icon, file not in assets) ==="); java.util.Set svgs = new java.util.HashSet<>(); java.nio.file.Files.list(java.nio.file.Paths.get("d:/ylrz_saas_new/adminui/src/assets/icons/svg")) .forEach(p -> svgs.add(p.getFileName().toString().replace(".svg", ""))); try (ResultSet rs = st.executeQuery( "SELECT menu_id, menu_name, icon, component FROM sys_menu " + "WHERE menu_type IN ('C','M') AND visible='0' AND status='0' " + "AND icon IS NOT NULL AND icon <> '' AND icon <> '#' " + "AND icon NOT LIKE 'el-icon-%' ORDER BY menu_id")) { while (rs.next()) { String icon = rs.getString(3); if (!svgs.contains(icon)) { System.out.printf("MISSING_SVG %s | %s | icon=%s | comp=%s%n", rs.getString(1), rs.getString(2), icon, rs.getString(4)); } } } } } }