ExecuteBusinessSceneMenuScript.java 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import java.sql.*;
  2. public class ExecuteBusinessSceneMenuScript {
  3. public static void main(String[] args) {
  4. String url = "jdbc:dm://192.168.0.145:30236?charset=utf8";
  5. String username = "WATERSHED";
  6. String password = "WaterShed./1224";
  7. Connection conn = null;
  8. Statement stmt = null;
  9. try {
  10. Class.forName("dm.jdbc.driver.DmDriver");
  11. conn = DriverManager.getConnection(url, username, password);
  12. stmt = conn.createStatement();
  13. // 1. 添加业务场景管理子菜单
  14. String menuSql = "INSERT INTO sys_menu VALUES (2027, '业务场景', 1, 10, 'businessScene', 'system/businessScene/index', '', 1, 0, 'C', '0', '0', 'system:businessScene:list', 'scene', 'admin', sysdate, '', NULL, '业务场景管理菜单')";
  15. executeSql(stmt, menuSql, "业务场景管理菜单");
  16. // 2. 添加按钮权限
  17. String[] buttonSqls = {
  18. "INSERT INTO sys_menu VALUES (2028, '业务场景查询', 2027, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:query', '#', 'admin', sysdate, '', NULL, '')",
  19. "INSERT INTO sys_menu VALUES (2029, '业务场景新增', 2027, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:add', '#', 'admin', sysdate, '', NULL, '')",
  20. "INSERT INTO sys_menu VALUES (2030, '业务场景修改', 2027, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:edit', '#', 'admin', sysdate, '', NULL, '')",
  21. "INSERT INTO sys_menu VALUES (2031, '业务场景删除', 2027, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:remove', '#', 'admin', sysdate, '', NULL, '')",
  22. "INSERT INTO sys_menu VALUES (2032, '业务场景导出', 2027, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:export', '#', 'admin', sysdate, '', NULL, '')"
  23. };
  24. String[] buttonNames = {"查询", "新增", "修改", "删除", "导出"};
  25. for (int i = 0; i < buttonSqls.length; i++) {
  26. executeSql(stmt, buttonSqls[i], "业务场景" + buttonNames[i] + "按钮");
  27. }
  28. // 3. 给管理员角色分配权限
  29. String[] roleMenuSqls = {
  30. "INSERT INTO sys_role_menu VALUES (1, 2027)",
  31. "INSERT INTO sys_role_menu VALUES (1, 2028)",
  32. "INSERT INTO sys_role_menu VALUES (1, 2029)",
  33. "INSERT INTO sys_role_menu VALUES (1, 2030)",
  34. "INSERT INTO sys_role_menu VALUES (1, 2031)",
  35. "INSERT INTO sys_role_menu VALUES (1, 2032)"
  36. };
  37. executeSql(stmt, roleMenuSqls[0], "管理员角色分配业务场景菜单权限");
  38. for (int i = 1; i < roleMenuSqls.length; i++) {
  39. executeSql(stmt, roleMenuSqls[i], "管理员角色分配业务场景" + buttonNames[i-1] + "权限");
  40. }
  41. System.out.println("\n业务场景管理菜单配置完成!");
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. } finally {
  45. try {
  46. if (stmt != null) stmt.close();
  47. if (conn != null) conn.close();
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52. }
  53. private static void executeSql(Statement stmt, String sql, String desc) {
  54. try {
  55. stmt.execute(sql);
  56. System.out.println(desc + " - 成功");
  57. } catch (SQLException e) {
  58. if (e.getErrorCode() == -2626) {
  59. System.out.println(desc + " - 已存在,跳过");
  60. } else {
  61. System.out.println(desc + " - 失败: " + e.getMessage());
  62. }
  63. }
  64. }
  65. }