package scripts.qa; import java.io.File; import java.nio.file.Files; import java.sql.*; public class CheckRolePermissions { public static void main(String[] args) throws Exception { Class.forName("com.kingbase8.Driver"); File yml = new File("RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml"); String pass = ""; for (String line : Files.readAllLines(yml.toPath())) { if (line.trim().startsWith("password:")) pass = line.trim().substring("password:".length()).trim(); } try (Connection conn = DriverManager.getConnection("jdbc:kingbase8://127.0.0.1:4321/railwaysystem_integrated_qa_20260916?useUnicode=true&characterEncoding=utf8", "kingbase", pass)) { System.out.println("--- ROLE PERMISSIONS ---"); String sql = "SELECT r.role_id, r.role_name, r.role_key, m.menu_name, m.perms " + "FROM public.sys_role r " + "JOIN public.sys_role_menu rm ON r.role_id = rm.role_id " + "JOIN public.sys_menu m ON rm.menu_id = m.menu_id " + "WHERE r.role_id IN (3, 4, 5) AND m.perms IS NOT NULL AND m.perms != '' " + "ORDER BY r.role_id, m.perms"; try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql)) { while (rs.next()) { System.out.println(String.format("Role %d (%s, %s) -> Perm: %s (%s)", rs.getLong(1), rs.getString(2), rs.getString(3), rs.getString(5), rs.getString(4))); } } } } }