QueryAdminMenus8.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import java.sql.*;
  2. public class QueryAdminMenus8 {
  3. public static void main(String[] args) throws Exception {
  4. String url = "jdbc:mysql://cq-cdb-8fjmemkb.sql.tencentcdb.com:27220/ylrz_saas?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8";
  5. try (Connection c = DriverManager.getConnection(url, "root", "Ylrz_1q2w3e4r5t6y");
  6. Statement st = c.createStatement()) {
  7. System.out.println("=== watch/iot or id 32850-32852 all tables ===");
  8. for (String t : new String[]{"sys_menu", "tenant_sys_menu"}) {
  9. try (ResultSet rs = st.executeQuery(
  10. "SELECT menu_id, menu_name, parent_id, path, component FROM " + t
  11. + " WHERE menu_id BETWEEN 32848 AND 32855 OR component LIKE '%watch/iot%' "
  12. + "OR component LIKE '%tenant/upgrade%' ORDER BY menu_id")) {
  13. while (rs.next()) {
  14. System.out.printf("%s %s | %s | parent=%s | path=%s | comp=%s%n",
  15. t, rs.getString(1), rs.getString(2), rs.getString(3),
  16. rs.getString(4), rs.getString(5));
  17. }
  18. }
  19. }
  20. System.out.println("\n=== parent chain for 32850 ===");
  21. try (ResultSet rs = st.executeQuery(
  22. "SELECT m.menu_id, m.menu_name, m.path, m.component, p.menu_id pid, p.menu_name pname, p.path ppath "
  23. + "FROM sys_menu m LEFT JOIN sys_menu p ON m.parent_id=p.menu_id WHERE m.menu_id=32850")) {
  24. if (rs.next()) {
  25. System.out.printf("32850 %s path=%s comp=%s parent=%s(%s) ppath=%s%n",
  26. rs.getString(2), rs.getString(3), rs.getString(4),
  27. rs.getString(5), rs.getString(6), rs.getString(7));
  28. }
  29. }
  30. try (ResultSet rs = st.executeQuery(
  31. "SELECT menu_id, menu_name, path, component FROM sys_menu WHERE menu_id IN (2820,2800)")) {
  32. while (rs.next()) {
  33. System.out.printf("ancestor %s | %s | path=%s | comp=%s%n",
  34. rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
  35. }
  36. }
  37. System.out.println("\n=== all C menus missing svg (icon not el-icon, file not in assets) ===");
  38. java.util.Set<String> svgs = new java.util.HashSet<>();
  39. java.nio.file.Files.list(java.nio.file.Paths.get("d:/ylrz_saas_new/adminui/src/assets/icons/svg"))
  40. .forEach(p -> svgs.add(p.getFileName().toString().replace(".svg", "")));
  41. try (ResultSet rs = st.executeQuery(
  42. "SELECT menu_id, menu_name, icon, component FROM sys_menu "
  43. + "WHERE menu_type IN ('C','M') AND visible='0' AND status='0' "
  44. + "AND icon IS NOT NULL AND icon <> '' AND icon <> '#' "
  45. + "AND icon NOT LIKE 'el-icon-%' ORDER BY menu_id")) {
  46. while (rs.next()) {
  47. String icon = rs.getString(3);
  48. if (!svgs.contains(icon)) {
  49. System.out.printf("MISSING_SVG %s | %s | icon=%s | comp=%s%n",
  50. rs.getString(1), rs.getString(2), icon, rs.getString(4));
  51. }
  52. }
  53. }
  54. }
  55. }
  56. }