QueryAdminMenus9.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import java.sql.*;
  2. import java.nio.file.*;
  3. import java.util.*;
  4. public class QueryAdminMenus9 {
  5. public static void main(String[] args) throws Exception {
  6. String url = "jdbc:mysql://cq-cdb-8fjmemkb.sql.tencentcdb.com:27220/ylrz_saas?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8";
  7. try (Connection c = DriverManager.getConnection(url, "root", "Ylrz_1q2w3e4r5t6y");
  8. Statement st = c.createStatement()) {
  9. System.out.println("=== menus with tenantUpgrade or upgrade in path/component ===");
  10. try (ResultSet rs = st.executeQuery(
  11. "SELECT menu_id, menu_name, parent_id, path, component, menu_type, icon, visible "
  12. + "FROM sys_menu WHERE path LIKE '%tenantUpgrade%' OR path LIKE '%upgrade%' "
  13. + "OR component LIKE '%tenant/upgrade%' "
  14. + "ORDER BY menu_id")) {
  15. while (rs.next()) {
  16. System.out.printf("%s | %s | parent=%s | path=%s | comp=%s | type=%s | icon=%s | vis=%s%n",
  17. rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4),
  18. rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8));
  19. }
  20. }
  21. System.out.println("\n=== duplicate menu_name under same parent (type C/M visible) ===");
  22. try (ResultSet rs = st.executeQuery(
  23. "SELECT parent_id, menu_name, COUNT(*) cnt, GROUP_CONCAT(menu_id) ids "
  24. + "FROM sys_menu WHERE menu_type IN ('C','M') AND visible='0' AND status='0' "
  25. + "GROUP BY parent_id, menu_name HAVING cnt > 1 ORDER BY parent_id")) {
  26. while (rs.next()) {
  27. System.out.printf("parent=%s name=%s cnt=%s ids=%s%n",
  28. rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
  29. }
  30. }
  31. System.out.println("\n=== menus with empty/null icon (visible C/M) ===");
  32. try (ResultSet rs = st.executeQuery(
  33. "SELECT menu_id, menu_name, parent_id, path, component, icon "
  34. + "FROM sys_menu WHERE menu_type IN ('C','M') AND visible='0' AND status='0' "
  35. + "AND (icon IS NULL OR icon='' OR icon='#') ORDER BY menu_id")) {
  36. while (rs.next()) {
  37. System.out.printf("NO_ICON %s | %s | parent=%s | path=%s | comp=%s | icon=[%s]%n",
  38. rs.getString(1), rs.getString(2), rs.getString(3),
  39. rs.getString(4), rs.getString(5), rs.getString(6));
  40. }
  41. }
  42. System.out.println("\n=== children of 32850 ===");
  43. try (ResultSet rs = st.executeQuery(
  44. "SELECT menu_id, menu_name, menu_type, path, component, visible FROM sys_menu WHERE parent_id=32850")) {
  45. while (rs.next()) {
  46. System.out.printf("%s | %s | type=%s | path=%s | comp=%s | vis=%s%n",
  47. rs.getString(1), rs.getString(2), rs.getString(3),
  48. rs.getString(4), rs.getString(5), rs.getString(6));
  49. }
  50. }
  51. System.out.println("\n=== shezhi(2820) children ===");
  52. try (ResultSet rs = st.executeQuery(
  53. "SELECT menu_id, menu_name, path, component, menu_type, icon FROM sys_menu "
  54. + "WHERE parent_id=2820 AND visible='0' AND status='0' ORDER BY order_num")) {
  55. while (rs.next()) {
  56. System.out.printf("%s | %s | path=%s | comp=%s | type=%s | icon=%s%n",
  57. rs.getString(1), rs.getString(2), rs.getString(3),
  58. rs.getString(4), rs.getString(5), rs.getString(6));
  59. }
  60. }
  61. }
  62. }
  63. }