import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; /** Remove admin sys_menu conversation-summary under lobster parent 2864 */ public class ApplyRemoveConversationSummaryMenu { public static void main(String[] args) throws Exception { String host = getenv("DB_HOST", "cq-cdb-8fjmemkb.sql.tencentcdb.com"); int port = Integer.parseInt(getenv("DB_PORT", "27220")); String user = getenv("DB_USER", "root"); String pwd = getenv("DB_PASSWORD", "Ylrz_1q2w3e4r5t6y"); String db = getenv("DB_NAME", "ylrz_saas"); String script = "DELETE FROM sys_role_menu WHERE menu_id IN (" + "SELECT menu_id FROM (SELECT menu_id FROM sys_menu WHERE parent_id = 2864 " + "AND (menu_name = '\u4f1a\u8bdd\u6458\u8981' OR path = 'conversation-summary')) t);" + "DELETE FROM sys_menu WHERE parent_id = 2864 " + "AND (menu_name = '\u4f1a\u8bdd\u6458\u8981' OR path = 'conversation-summary');"; String url = "jdbc:mysql://" + host + ":" + port + "/" + db + "?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&allowMultiQueries=true"; try (Connection conn = DriverManager.getConnection(url, user, pwd); Statement st = conn.createStatement()) { for (String part : script.split(";")) { String sqlPart = part.trim(); if (sqlPart.isEmpty() || sqlPart.startsWith("--")) { continue; } int rows = st.executeUpdate(sqlPart); System.out.println("OK rows=" + rows + " :: " + sqlPart.lines().findFirst().orElse("")); } } System.out.println("Done. Re-login adminui to refresh menus."); } private static String getenv(String key, String defaultValue) { String v = System.getenv(key); return v != null && !v.isEmpty() ? v : defaultValue; } }