QueryAdminMenus3.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import java.sql.*;
  2. public class QueryAdminMenus3 {
  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. for (int pid : new int[]{2820, 2816, 2802, 2800}) {
  8. System.out.println("\n=== children of parent_id=" + pid + " ===");
  9. try (ResultSet rs = st.executeQuery(
  10. "SELECT menu_id, menu_name, path, component, icon, menu_type, visible FROM sys_menu "
  11. + "WHERE parent_id=" + pid + " ORDER BY order_num, menu_id")) {
  12. while (rs.next()) {
  13. System.out.printf("%s | %s | path=%s | comp=%s | icon=%s | type=%s | vis=%s%n",
  14. rs.getString(1), rs.getString(2), rs.getString(3),
  15. rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7));
  16. }
  17. }
  18. }
  19. System.out.println("\n=== duplicate menu_name (type C) ===");
  20. try (ResultSet rs = st.executeQuery(
  21. "SELECT menu_name, COUNT(*) cnt, GROUP_CONCAT(menu_id) ids, GROUP_CONCAT(component) comps "
  22. + "FROM sys_menu WHERE menu_type='C' AND status='0' GROUP BY menu_name HAVING cnt>1 "
  23. + "ORDER BY cnt DESC LIMIT 40")) {
  24. while (rs.next()) {
  25. System.out.printf("%s | count=%s | ids=%s | comps=%s%n",
  26. rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
  27. }
  28. }
  29. System.out.println("\n=== type C visible menus missing /index component ===");
  30. try (ResultSet rs = st.executeQuery(
  31. "SELECT menu_id, menu_name, path, component, icon FROM sys_menu "
  32. + "WHERE menu_type='C' AND visible='0' AND status='0' "
  33. + "AND (component IS NULL OR component='' OR component NOT LIKE '%/index') "
  34. + "ORDER BY menu_id LIMIT 80")) {
  35. while (rs.next()) {
  36. System.out.printf("%s | %s | path=%s | comp=%s | icon=%s%n",
  37. rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5));
  38. }
  39. }
  40. System.out.println("\n=== all menus path contains Upgrade or component upgrade ===");
  41. try (ResultSet rs = st.executeQuery(
  42. "SELECT menu_id, menu_name, parent_id, path, component, icon FROM sys_menu "
  43. + "WHERE path LIKE '%Upgrade%' OR path LIKE '%upgrade%' "
  44. + "OR component LIKE '%upgrade%' ORDER BY menu_id")) {
  45. while (rs.next()) {
  46. System.out.printf("%s | %s | parent=%s | path=%s | comp=%s%n",
  47. rs.getString(1), rs.getString(2), rs.getString(3),
  48. rs.getString(4), rs.getString(5));
  49. }
  50. }
  51. }
  52. }
  53. }