1.规范增量 SQL 文件命名

2.新增数据总线模块(未完成)
3.新增规则模块(未完成)
4.新增组织编码与外部系统组织编码映射关系表
5.补全 e 办单点登录回调逻辑
This commit is contained in:
chenbowen
2025-10-15 08:59:57 +08:00
parent 97bd87de55
commit c0dc0823b6
246 changed files with 11118 additions and 2749 deletions

View File

@@ -0,0 +1,31 @@
-- 清理旧数据,确保脚本可重复执行
DELETE FROM system_menu WHERE id IN (6500,6501,650101,650102,650103);
-- 顶级目录(父级假定为 id=2 的系统管理目录)
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, component_name
) VALUES (
6500, '统一外部网关', '', 1, 20, 1,
'databus', 'ep:data-line', '', 0, NULL
);
-- API 门户页面
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, component_name
) VALUES (
6501, 'API 门户', 'databus:gateway:query', 2, 1, 6500,
'databus-gateway', 'ep:cpu', 'databus/gateway/index', 0, 'DatabusGateway'
);
-- 页面内操作按钮权限
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status
) VALUES
(650101, 'API 列表', 'databus:gateway:query', 3, 1, 6501, '', '', '', 0),
(650102, 'API 调试', 'databus:gateway:invoke', 3, 2, 6501, '', '', '', 0),
(650103, '刷新定义', 'databus:gateway:refresh', 3, 3, 6501, '', '', '', 0);
d

View File

@@ -0,0 +1,241 @@
/*
* Databus API portal schema for DM8
* Generated on 2025-10-10
*/
-- ----------------------------
-- Table structure for databus_api_definition
-- ----------------------------
CREATE TABLE databus_api_definition (
id BIGINT NOT NULL PRIMARY KEY,
tenant_id BIGINT NOT NULL,
api_code VARCHAR(128) NOT NULL,
uri_pattern VARCHAR(256) NOT NULL,
http_method VARCHAR(16) NOT NULL,
version VARCHAR(32) NOT NULL,
status SMALLINT DEFAULT 0 NOT NULL,
description VARCHAR(512),
auth_policy_id BIGINT,
rate_limit_id BIGINT,
response_template CLOB,
cache_strategy VARCHAR(128),
updated_at DATETIME,
grey_released BIT DEFAULT '0' NOT NULL,
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted BIT DEFAULT '0' NOT NULL
);
CREATE UNIQUE INDEX uk_databus_api_definition_code_ver ON databus_api_definition (tenant_id, api_code, version);
CREATE INDEX idx_databus_api_definition_status ON databus_api_definition (tenant_id, status);
CREATE INDEX idx_databus_api_definition_policy ON databus_api_definition (tenant_id, auth_policy_id, rate_limit_id);
COMMENT ON TABLE databus_api_definition IS '统一外部 API 门户 - API 定义表';
COMMENT ON COLUMN databus_api_definition.id IS '主键 ID';
COMMENT ON COLUMN databus_api_definition.tenant_id IS '租户编号';
COMMENT ON COLUMN databus_api_definition.api_code IS 'API 编码';
COMMENT ON COLUMN databus_api_definition.uri_pattern IS '匹配路径模板';
COMMENT ON COLUMN databus_api_definition.http_method IS 'HTTP 方法';
COMMENT ON COLUMN databus_api_definition.version IS '版本号';
COMMENT ON COLUMN databus_api_definition.status IS '发布状态';
COMMENT ON COLUMN databus_api_definition.description IS '描述信息';
COMMENT ON COLUMN databus_api_definition.auth_policy_id IS '认证策略 ID';
COMMENT ON COLUMN databus_api_definition.rate_limit_id IS '限流策略 ID';
COMMENT ON COLUMN databus_api_definition.response_template IS '响应模板 JSON';
COMMENT ON COLUMN databus_api_definition.cache_strategy IS '缓存策略配置';
COMMENT ON COLUMN databus_api_definition.updated_at IS '业务更新时间';
COMMENT ON COLUMN databus_api_definition.grey_released IS '灰度发布标记';
COMMENT ON COLUMN databus_api_definition.creator IS '创建者';
COMMENT ON COLUMN databus_api_definition.create_time IS '创建时间';
COMMENT ON COLUMN databus_api_definition.updater IS '更新者';
COMMENT ON COLUMN databus_api_definition.update_time IS '更新时间';
COMMENT ON COLUMN databus_api_definition.deleted IS '逻辑删除标记';
-- ----------------------------
-- Table structure for databus_api_flow_publish
-- ----------------------------
CREATE TABLE databus_api_flow_publish (
id BIGINT NOT NULL PRIMARY KEY,
tenant_id BIGINT NOT NULL,
api_id BIGINT NOT NULL,
release_tag VARCHAR(64),
snapshot CLOB,
status VARCHAR(32),
active BIT DEFAULT '0' NOT NULL,
description VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted BIT DEFAULT '0' NOT NULL
);
CREATE INDEX idx_databus_api_flow_publish_api ON databus_api_flow_publish (tenant_id, api_id, active);
COMMENT ON TABLE databus_api_flow_publish IS '统一外部 API 门户 - 发布记录表';
COMMENT ON COLUMN databus_api_flow_publish.id IS '主键 ID';
COMMENT ON COLUMN databus_api_flow_publish.tenant_id IS '租户编号';
COMMENT ON COLUMN databus_api_flow_publish.api_id IS '关联的 API ID';
COMMENT ON COLUMN databus_api_flow_publish.release_tag IS '发布批次标识';
COMMENT ON COLUMN databus_api_flow_publish.snapshot IS '配置快照 JSON';
COMMENT ON COLUMN databus_api_flow_publish.status IS '发布状态';
COMMENT ON COLUMN databus_api_flow_publish.active IS '是否当前生效';
COMMENT ON COLUMN databus_api_flow_publish.description IS '备注信息';
COMMENT ON COLUMN databus_api_flow_publish.creator IS '创建者';
COMMENT ON COLUMN databus_api_flow_publish.create_time IS '创建时间';
COMMENT ON COLUMN databus_api_flow_publish.updater IS '更新者';
COMMENT ON COLUMN databus_api_flow_publish.update_time IS '更新时间';
COMMENT ON COLUMN databus_api_flow_publish.deleted IS '逻辑删除标记';
-- ----------------------------
-- Table structure for databus_policy_auth
-- ----------------------------
CREATE TABLE databus_policy_auth (
id BIGINT NOT NULL PRIMARY KEY,
tenant_id BIGINT NOT NULL,
name VARCHAR(128) NOT NULL,
type VARCHAR(64) NOT NULL,
config CLOB,
description VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted BIT DEFAULT '0' NOT NULL
);
CREATE UNIQUE INDEX uk_databus_policy_auth_name ON databus_policy_auth (tenant_id, name);
COMMENT ON TABLE databus_policy_auth IS '统一外部 API 门户 - 认证策略表';
COMMENT ON COLUMN databus_policy_auth.id IS '主键 ID';
COMMENT ON COLUMN databus_policy_auth.tenant_id IS '租户编号';
COMMENT ON COLUMN databus_policy_auth.name IS '策略名称';
COMMENT ON COLUMN databus_policy_auth.type IS '策略类型';
COMMENT ON COLUMN databus_policy_auth.config IS '策略配置 JSON';
COMMENT ON COLUMN databus_policy_auth.description IS '描述信息';
COMMENT ON COLUMN databus_policy_auth.creator IS '创建者';
COMMENT ON COLUMN databus_policy_auth.create_time IS '创建时间';
COMMENT ON COLUMN databus_policy_auth.updater IS '更新者';
COMMENT ON COLUMN databus_policy_auth.update_time IS '更新时间';
COMMENT ON COLUMN databus_policy_auth.deleted IS '逻辑删除标记';
-- ----------------------------
-- Table structure for databus_policy_rate_limit
-- ----------------------------
CREATE TABLE databus_policy_rate_limit (
id BIGINT NOT NULL PRIMARY KEY,
tenant_id BIGINT NOT NULL,
name VARCHAR(128) NOT NULL,
type VARCHAR(64) NOT NULL,
config CLOB,
description VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted BIT DEFAULT '0' NOT NULL
);
CREATE UNIQUE INDEX uk_databus_policy_rate_limit_name ON databus_policy_rate_limit (tenant_id, name);
COMMENT ON TABLE databus_policy_rate_limit IS '统一外部 API 门户 - 限流策略表';
COMMENT ON COLUMN databus_policy_rate_limit.id IS '主键 ID';
COMMENT ON COLUMN databus_policy_rate_limit.tenant_id IS '租户编号';
COMMENT ON COLUMN databus_policy_rate_limit.name IS '策略名称';
COMMENT ON COLUMN databus_policy_rate_limit.type IS '策略类型';
COMMENT ON COLUMN databus_policy_rate_limit.config IS '策略配置 JSON';
COMMENT ON COLUMN databus_policy_rate_limit.description IS '描述信息';
COMMENT ON COLUMN databus_policy_rate_limit.creator IS '创建者';
COMMENT ON COLUMN databus_policy_rate_limit.create_time IS '创建时间';
COMMENT ON COLUMN databus_policy_rate_limit.updater IS '更新者';
COMMENT ON COLUMN databus_policy_rate_limit.update_time IS '更新时间';
COMMENT ON COLUMN databus_policy_rate_limit.deleted IS '逻辑删除标记';
-- ----------------------------
-- Table structure for databus_api_step
-- ----------------------------
CREATE TABLE databus_api_step (
id BIGINT NOT NULL PRIMARY KEY,
tenant_id BIGINT NOT NULL,
api_id BIGINT NOT NULL,
step_order INT DEFAULT 0 NOT NULL,
parallel_group VARCHAR(64),
type VARCHAR(32) NOT NULL,
target_endpoint VARCHAR(512),
request_mapping_expr CLOB,
response_mapping_expr CLOB,
transform_id BIGINT,
timeout BIGINT,
retry_strategy CLOB,
fallback_strategy CLOB,
condition_expr CLOB,
stop_on_error BIT DEFAULT '0' NOT NULL,
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted BIT DEFAULT '0' NOT NULL
);
CREATE INDEX idx_databus_api_step_api_order ON databus_api_step (tenant_id, api_id, parallel_group, step_order);
COMMENT ON TABLE databus_api_step IS '统一外部 API 门户 - 编排步骤表';
COMMENT ON COLUMN databus_api_step.id IS '主键 ID';
COMMENT ON COLUMN databus_api_step.tenant_id IS '租户编号';
COMMENT ON COLUMN databus_api_step.api_id IS '关联的 API ID';
COMMENT ON COLUMN databus_api_step.step_order IS '执行顺序';
COMMENT ON COLUMN databus_api_step.parallel_group IS '并行分组标识';
COMMENT ON COLUMN databus_api_step.type IS '步骤类型';
COMMENT ON COLUMN databus_api_step.target_endpoint IS '目标端点';
COMMENT ON COLUMN databus_api_step.request_mapping_expr IS '请求映射表达式';
COMMENT ON COLUMN databus_api_step.response_mapping_expr IS '响应映射表达式';
COMMENT ON COLUMN databus_api_step.transform_id IS '默认变换 ID';
COMMENT ON COLUMN databus_api_step.timeout IS '超时时间(毫秒)';
COMMENT ON COLUMN databus_api_step.retry_strategy IS '重试策略 JSON';
COMMENT ON COLUMN databus_api_step.fallback_strategy IS '降级策略 JSON';
COMMENT ON COLUMN databus_api_step.condition_expr IS '执行条件表达式';
COMMENT ON COLUMN databus_api_step.stop_on_error IS '出错是否终止';
COMMENT ON COLUMN databus_api_step.creator IS '创建者';
COMMENT ON COLUMN databus_api_step.create_time IS '创建时间';
COMMENT ON COLUMN databus_api_step.updater IS '更新者';
COMMENT ON COLUMN databus_api_step.update_time IS '更新时间';
COMMENT ON COLUMN databus_api_step.deleted IS '逻辑删除标记';
-- ----------------------------
-- Table structure for databus_api_transform
-- ----------------------------
CREATE TABLE databus_api_transform (
id BIGINT NOT NULL PRIMARY KEY,
tenant_id BIGINT NOT NULL,
api_id BIGINT,
step_id BIGINT,
phase VARCHAR(32) NOT NULL,
expression_type VARCHAR(32) NOT NULL,
expression CLOB NOT NULL,
description VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted BIT DEFAULT '0' NOT NULL
);
CREATE INDEX idx_databus_api_transform_api ON databus_api_transform (tenant_id, api_id);
CREATE INDEX idx_databus_api_transform_step ON databus_api_transform (tenant_id, step_id);
COMMENT ON TABLE databus_api_transform IS '统一外部 API 门户 - 变换配置表';
COMMENT ON COLUMN databus_api_transform.id IS '主键 ID';
COMMENT ON COLUMN databus_api_transform.tenant_id IS '租户编号';
COMMENT ON COLUMN databus_api_transform.api_id IS '关联的 API ID';
COMMENT ON COLUMN databus_api_transform.step_id IS '关联的步骤 ID';
COMMENT ON COLUMN databus_api_transform.phase IS '执行阶段';
COMMENT ON COLUMN databus_api_transform.expression_type IS '表达式类型';
COMMENT ON COLUMN databus_api_transform.expression IS '表达式内容';
COMMENT ON COLUMN databus_api_transform.description IS '描述信息';
COMMENT ON COLUMN databus_api_transform.creator IS '创建者';
COMMENT ON COLUMN databus_api_transform.create_time IS '创建时间';
COMMENT ON COLUMN databus_api_transform.updater IS '更新者';
COMMENT ON COLUMN databus_api_transform.update_time IS '更新时间';
COMMENT ON COLUMN databus_api_transform.deleted IS '逻辑删除标记';

View File

@@ -0,0 +1,228 @@
-- 规则引擎模块核心表结构DM8
-- 如果需要重建表,请在执行前备份现有数据
DROP TABLE IF EXISTS rule_release_record;
DROP TABLE IF EXISTS rule_business_relation;
DROP TABLE IF EXISTS rule_business;
DROP TABLE IF EXISTS rule_chain_dependency;
DROP TABLE IF EXISTS rule_chain;
DROP TABLE IF EXISTS rule_definition;
CREATE TABLE rule_definition (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
code VARCHAR(128) NOT NULL,
name VARCHAR(128) NOT NULL,
type SMALLINT NOT NULL,
dsl CLOB,
script_language VARCHAR(64),
bean_ref VARCHAR(128),
config_json CLOB,
status SMALLINT DEFAULT 0 NOT NULL,
version VARCHAR(64),
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_definition IS '规则定义表';
COMMENT ON COLUMN rule_definition.id IS '规则定义编号';
COMMENT ON COLUMN rule_definition.code IS '规则编码';
COMMENT ON COLUMN rule_definition.name IS '规则名称';
COMMENT ON COLUMN rule_definition.type IS '规则类型';
COMMENT ON COLUMN rule_definition.dsl IS 'LiteFlow DSL 脚本';
COMMENT ON COLUMN rule_definition.script_language IS '脚本语言';
COMMENT ON COLUMN rule_definition.bean_ref IS 'Spring Bean 引用';
COMMENT ON COLUMN rule_definition.config_json IS '规则配置 JSON';
COMMENT ON COLUMN rule_definition.status IS '规则状态';
COMMENT ON COLUMN rule_definition.version IS '规则版本号';
COMMENT ON COLUMN rule_definition.remark IS '备注';
COMMENT ON COLUMN rule_definition.creator IS '创建者';
COMMENT ON COLUMN rule_definition.create_time IS '创建时间';
COMMENT ON COLUMN rule_definition.updater IS '更新者';
COMMENT ON COLUMN rule_definition.update_time IS '更新时间';
COMMENT ON COLUMN rule_definition.deleted IS '是否删除';
COMMENT ON COLUMN rule_definition.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_definition_code_tenant ON rule_definition (code, tenant_id);
CREATE TABLE rule_chain (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
code VARCHAR(128) NOT NULL,
name VARCHAR(128) NOT NULL,
description VARCHAR(512),
structure_json CLOB,
liteflow_dsl CLOB,
status SMALLINT DEFAULT 0 NOT NULL,
version VARCHAR(64),
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_chain IS '规则链表';
COMMENT ON COLUMN rule_chain.id IS '规则链编号';
COMMENT ON COLUMN rule_chain.code IS '规则链编码';
COMMENT ON COLUMN rule_chain.name IS '规则链名称';
COMMENT ON COLUMN rule_chain.description IS '规则链描述';
COMMENT ON COLUMN rule_chain.structure_json IS '链路结构 JSON';
COMMENT ON COLUMN rule_chain.liteflow_dsl IS 'LiteFlow DSL 内容';
COMMENT ON COLUMN rule_chain.status IS '规则链状态';
COMMENT ON COLUMN rule_chain.version IS '版本号';
COMMENT ON COLUMN rule_chain.remark IS '备注';
COMMENT ON COLUMN rule_chain.creator IS '创建者';
COMMENT ON COLUMN rule_chain.create_time IS '创建时间';
COMMENT ON COLUMN rule_chain.updater IS '更新者';
COMMENT ON COLUMN rule_chain.update_time IS '更新时间';
COMMENT ON COLUMN rule_chain.deleted IS '是否删除';
COMMENT ON COLUMN rule_chain.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_chain_code_tenant ON rule_chain (code, tenant_id);
CREATE INDEX idx_rule_chain_status ON rule_chain (status);
CREATE TABLE rule_chain_dependency (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
parent_chain_id BIGINT NOT NULL,
child_rule_id BIGINT NOT NULL,
link_type SMALLINT NOT NULL,
order_index INTEGER,
parallel_group VARCHAR(64),
condition_expr VARCHAR(512),
config_json CLOB,
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_chain_dependency IS '规则链依赖表';
COMMENT ON COLUMN rule_chain_dependency.id IS '依赖编号';
COMMENT ON COLUMN rule_chain_dependency.parent_chain_id IS '父规则链编号';
COMMENT ON COLUMN rule_chain_dependency.child_rule_id IS '引用的规则定义编号';
COMMENT ON COLUMN rule_chain_dependency.link_type IS '节点类型';
COMMENT ON COLUMN rule_chain_dependency.order_index IS '执行顺序';
COMMENT ON COLUMN rule_chain_dependency.parallel_group IS '并行组标识';
COMMENT ON COLUMN rule_chain_dependency.condition_expr IS '条件表达式';
COMMENT ON COLUMN rule_chain_dependency.config_json IS '节点配置 JSON';
COMMENT ON COLUMN rule_chain_dependency.creator IS '创建者';
COMMENT ON COLUMN rule_chain_dependency.create_time IS '创建时间';
COMMENT ON COLUMN rule_chain_dependency.updater IS '更新者';
COMMENT ON COLUMN rule_chain_dependency.update_time IS '更新时间';
COMMENT ON COLUMN rule_chain_dependency.deleted IS '是否删除';
COMMENT ON COLUMN rule_chain_dependency.tenant_id IS '租户编号';
CREATE INDEX idx_rule_chain_dependency_parent ON rule_chain_dependency (parent_chain_id);
CREATE INDEX idx_rule_chain_dependency_child ON rule_chain_dependency (child_rule_id);
CREATE TABLE rule_business (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
business VARCHAR(128) NOT NULL,
rule_chain_id BIGINT,
override_strategy SMALLINT DEFAULT 0 NOT NULL,
locked TINYINT DEFAULT 0 NOT NULL,
effective_version VARCHAR(64),
config_json CLOB,
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_business IS '业务规则绑定表';
COMMENT ON COLUMN rule_business.id IS '业务绑定编号';
COMMENT ON COLUMN rule_business.business IS '业务标识';
COMMENT ON COLUMN rule_business.rule_chain_id IS '绑定的规则链编号';
COMMENT ON COLUMN rule_business.override_strategy IS '覆盖策略';
COMMENT ON COLUMN rule_business.locked IS '是否锁定';
COMMENT ON COLUMN rule_business.effective_version IS '生效版本';
COMMENT ON COLUMN rule_business.config_json IS '业务配置 JSON';
COMMENT ON COLUMN rule_business.remark IS '备注';
COMMENT ON COLUMN rule_business.creator IS '创建者';
COMMENT ON COLUMN rule_business.create_time IS '创建时间';
COMMENT ON COLUMN rule_business.updater IS '更新者';
COMMENT ON COLUMN rule_business.update_time IS '更新时间';
COMMENT ON COLUMN rule_business.deleted IS '是否删除';
COMMENT ON COLUMN rule_business.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_business_tenant ON rule_business (business, tenant_id);
CREATE INDEX idx_rule_business_chain ON rule_business (rule_chain_id);
CREATE TABLE rule_business_relation (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
parent_business VARCHAR(128) NOT NULL,
child_business VARCHAR(128) NOT NULL,
sort INTEGER DEFAULT 0 NOT NULL,
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_business_relation IS '业务继承关系表';
COMMENT ON COLUMN rule_business_relation.id IS '继承关系编号';
COMMENT ON COLUMN rule_business_relation.parent_business IS '父业务标识';
COMMENT ON COLUMN rule_business_relation.child_business IS '子业务标识';
COMMENT ON COLUMN rule_business_relation.sort IS '排序';
COMMENT ON COLUMN rule_business_relation.creator IS '创建者';
COMMENT ON COLUMN rule_business_relation.create_time IS '创建时间';
COMMENT ON COLUMN rule_business_relation.updater IS '更新者';
COMMENT ON COLUMN rule_business_relation.update_time IS '更新时间';
COMMENT ON COLUMN rule_business_relation.deleted IS '是否删除';
COMMENT ON COLUMN rule_business_relation.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_business_relation_child ON rule_business_relation (child_business, tenant_id);
CREATE INDEX idx_rule_business_relation_parent ON rule_business_relation (parent_business);
CREATE TABLE rule_release_record (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
business VARCHAR(128) NOT NULL,
chain_id VARCHAR(255) NOT NULL,
chain_code VARCHAR(128),
version VARCHAR(64) NOT NULL,
status SMALLINT DEFAULT 0 NOT NULL,
release_user_id BIGINT,
release_user_name VARCHAR(128),
release_time TIMESTAMP,
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_release_record IS '规则发布记录表';
COMMENT ON COLUMN rule_release_record.id IS '发布记录编号';
COMMENT ON COLUMN rule_release_record.business IS '业务标识';
COMMENT ON COLUMN rule_release_record.chain_id IS '生成链路标识';
COMMENT ON COLUMN rule_release_record.chain_code IS '规则链编码';
COMMENT ON COLUMN rule_release_record.version IS '发布版本';
COMMENT ON COLUMN rule_release_record.status IS '发布状态';
COMMENT ON COLUMN rule_release_record.release_user_id IS '发布人编号';
COMMENT ON COLUMN rule_release_record.release_user_name IS '发布人名称';
COMMENT ON COLUMN rule_release_record.release_time IS '发布时间';
COMMENT ON COLUMN rule_release_record.remark IS '备注';
COMMENT ON COLUMN rule_release_record.creator IS '创建者';
COMMENT ON COLUMN rule_release_record.create_time IS '创建时间';
COMMENT ON COLUMN rule_release_record.updater IS '更新者';
COMMENT ON COLUMN rule_release_record.update_time IS '更新时间';
COMMENT ON COLUMN rule_release_record.deleted IS '是否删除';
COMMENT ON COLUMN rule_release_record.tenant_id IS '租户编号';
CREATE INDEX idx_rule_release_business_time ON rule_release_record (business, release_time);
CREATE UNIQUE INDEX uk_rule_release_business_version ON rule_release_record (business, version, tenant_id);

View File

@@ -0,0 +1,27 @@
-- 规则引擎模块菜单与权限初始化DM8
-- 顶级目录放置在系统管理(2)下,如需调整请修改 parent_id
DELETE FROM system_menu WHERE id IN (6100,6101,610101,610102,610103,610104,610111,610112,610113,610114,610121,610122,610123,610124,610131,610132,610133,610141);
INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
VALUES
(6100, '规则引擎', '', 1, 20, 2, 'rule', 'ep:s-operation', '', 'RuleModule', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(6101, '规则设计器', '', 2, 1, 6100, 'designer', 'ep:s-operation', 'rule/designer/index', 'RuleDesigner', 0, '1', '0', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0');
INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) VALUES
(610101, '规则定义查询', 'rule:definition:query', 3, 1, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610102, '规则定义创建', 'rule:definition:create', 3, 2, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610103, '规则定义更新', 'rule:definition:update', 3, 3, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610104, '规则定义删除', 'rule:definition:delete', 3, 4, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610111, '规则链查询', 'rule:chain:query', 3, 5, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610112, '规则链创建', 'rule:chain:create', 3, 6, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610113, '规则链更新', 'rule:chain:update', 3, 7, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610114, '规则链删除', 'rule:chain:delete', 3, 8, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610121, '业务链查询', 'rule:business:query', 3, 9, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610122, '业务链维护', 'rule:business:update', 3, 10, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610123, '业务链删除', 'rule:business:delete', 3, 11, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610124, '业务链预览', 'rule:business:preview', 3, 12, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610131, '发布记录查询', 'rule:publish:query', 3, 13, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610132, '规则链发布', 'rule:publish:publish', 3, 14, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610133, '规则链回滚', 'rule:publish:rollback', 3, 15, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0'),
(610141, '规则模拟执行', 'rule:simulation:execute', 3, 16, 6101, '', '', '', '', 0, '1', '1', '1', 'admin', CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '0');

View File

@@ -0,0 +1,60 @@
-- DM8 部门外部组织编码映射初始化脚本
-- 包含表结构、字段注释及基础字典数据
-- 重复执行时请先备份数据
DROP TABLE IF EXISTS system_dept_external_code;
CREATE TABLE system_dept_external_code (
id BIGINT NOT NULL,
dept_id BIGINT NOT NULL,
system_code VARCHAR(64) NOT NULL,
external_dept_code VARCHAR(128) NOT NULL,
external_dept_name VARCHAR(255),
status TINYINT DEFAULT 0 NOT NULL,
remark VARCHAR(512),
tenant_id BIGINT DEFAULT 0,
creator VARCHAR(64),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updater VARCHAR(64),
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
deleted TINYINT DEFAULT 0 NOT NULL,
CONSTRAINT pk_system_dept_external_code PRIMARY KEY (id)
);
-- 唯一索引与辅助索引
CREATE UNIQUE INDEX uk_system_dept_external_code_ext
ON system_dept_external_code (tenant_id, system_code, external_dept_code);
CREATE UNIQUE INDEX uk_system_dept_external_code_dept
ON system_dept_external_code (tenant_id, system_code, dept_id);
CREATE INDEX idx_system_dept_external_code_dept
ON system_dept_external_code (tenant_id, dept_id);
COMMENT ON TABLE system_dept_external_code IS '部门外部组织编码映射';
COMMENT ON COLUMN system_dept_external_code.id IS '主键编号';
COMMENT ON COLUMN system_dept_external_code.dept_id IS '本系统部门编号';
COMMENT ON COLUMN system_dept_external_code.system_code IS '外部系统标识';
COMMENT ON COLUMN system_dept_external_code.external_dept_code IS '外部组织编码';
COMMENT ON COLUMN system_dept_external_code.external_dept_name IS '外部组织名称';
COMMENT ON COLUMN system_dept_external_code.status IS '状态0开启 1关闭';
COMMENT ON COLUMN system_dept_external_code.remark IS '备注';
COMMENT ON COLUMN system_dept_external_code.tenant_id IS '租户编号';
COMMENT ON COLUMN system_dept_external_code.creator IS '创建者';
COMMENT ON COLUMN system_dept_external_code.create_time IS '创建时间';
COMMENT ON COLUMN system_dept_external_code.updater IS '更新者';
COMMENT ON COLUMN system_dept_external_code.update_time IS '更新时间';
COMMENT ON COLUMN system_dept_external_code.deleted IS '删除标记';
-- 初始化外部系统标识字典
INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
SELECT 20050, '外部系统标识', 'system_dept_external_system', 0, '部门外部组织编码中的外部系统标识', 'admin', SYSDATE, 'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_dict_type WHERE type = 'system_dept_external_system'
);
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted)
SELECT 2005001, 1, 'ERP 系统', 'ERP', 'system_dept_external_system', 0, '', '', '企业资源计划系统', 'admin', SYSDATE, 'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_dict_data WHERE dict_type = 'system_dept_external_system' AND value = 'ERP'
);

View File

@@ -0,0 +1,35 @@
-- DM8 部门外部组织编码映射菜单与权限脚本
-- 清理旧数据并重新创建目录、页面及操作按钮
-- 保持脚本幂等性,先清理旧数据
DELETE FROM system_role_menu WHERE menu_id IN (6200, 6201, 620101, 620102, 620103, 620104);
DELETE FROM system_menu WHERE id IN (6200, 6201, 620101, 620102, 620103, 620104);
-- 在系统管理ID=2下创建目录与页面
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, component_name
) VALUES (
6200, '组织编码映射', '', 1, 25, 2,
'dept-external', 'ep:connection', '', 0, 'DeptExternalCodeRoot'
);
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, component_name
) VALUES (
6201, '外部组织编码', '', 2, 1, 6200,
'dept-external-code', 'ep:connection', 'system/deptExternalCode/index', 0, 'SystemDeptExternalCode'
);
-- 创建操作按钮权限
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status
) VALUES
(620101, '查询部门外部编码', 'system:dept-external-code:query', 3, 1, 6201, '', '', '', 0),
(620102, '新增部门外部编码', 'system:dept-external-code:create', 3, 2, 6201, '', '', '', 0),
(620103, '修改部门外部编码', 'system:dept-external-code:update', 3, 3, 6201, '', '', '', 0),
(620104, '删除部门外部编码', 'system:dept-external-code:delete', 3, 4, 6201, '', '', '', 0);
-- 如需分配给角色,请按本地序列策略写入 system_role_menu