ApplyRemoveConversationSummaryMenu.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.Statement;
  4. /** Remove admin sys_menu conversation-summary under lobster parent 2864 */
  5. public class ApplyRemoveConversationSummaryMenu {
  6. public static void main(String[] args) throws Exception {
  7. String host = getenv("DB_HOST", "cq-cdb-8fjmemkb.sql.tencentcdb.com");
  8. int port = Integer.parseInt(getenv("DB_PORT", "27220"));
  9. String user = getenv("DB_USER", "root");
  10. String pwd = getenv("DB_PASSWORD", "Ylrz_1q2w3e4r5t6y");
  11. String db = getenv("DB_NAME", "ylrz_saas");
  12. String script =
  13. "DELETE FROM sys_role_menu WHERE menu_id IN ("
  14. + "SELECT menu_id FROM (SELECT menu_id FROM sys_menu WHERE parent_id = 2864 "
  15. + "AND (menu_name = '\u4f1a\u8bdd\u6458\u8981' OR path = 'conversation-summary')) t);"
  16. + "DELETE FROM sys_menu WHERE parent_id = 2864 "
  17. + "AND (menu_name = '\u4f1a\u8bdd\u6458\u8981' OR path = 'conversation-summary');";
  18. String url = "jdbc:mysql://" + host + ":" + port + "/" + db
  19. + "?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&allowMultiQueries=true";
  20. try (Connection conn = DriverManager.getConnection(url, user, pwd);
  21. Statement st = conn.createStatement()) {
  22. for (String part : script.split(";")) {
  23. String sqlPart = part.trim();
  24. if (sqlPart.isEmpty() || sqlPart.startsWith("--")) {
  25. continue;
  26. }
  27. int rows = st.executeUpdate(sqlPart);
  28. System.out.println("OK rows=" + rows + " :: " + sqlPart.lines().findFirst().orElse(""));
  29. }
  30. }
  31. System.out.println("Done. Re-login adminui to refresh menus.");
  32. }
  33. private static String getenv(String key, String defaultValue) {
  34. String v = System.getenv(key);
  35. return v != null && !v.isEmpty() ? v : defaultValue;
  36. }
  37. }