Files
zt-dsc/sql/dm/外部系统推送配置初始化_DM8_20260120.sql
wuzongyong 95d156940f feat(system): 新增外部系统推送配置功能
- 添加 BusinessTypeEnum 枚举定义采购、销售、生产三种业务类型
- 在 ErrorCodeConstants 中新增外部系统推送配置相关错误码
- 创建 ExternalPushConfigApi 定义推送配置的 RPC 接口
- 实现 ExternalPushConfigApiImpl 提供推送判断功能
- 设计 ExternalPushConfigDO 数据对象存储推送配置信息
- 开发 ExternalPushConfigMapper 提供数据库操作功能
- 实现 ExternalPushConfigService 业务逻辑处理
- 创建管理后台 Controller 提供 CRUD 和查询接口
- 定义请求响应 VO 对象规范接口参数和返回值
- 添加数据库表结构初始化脚本支持推送配置存储
2026-01-20 17:14:37 +08:00

133 lines
5.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- DM8 外部系统推送配置初始化脚本
-- 用于配置不同公司/部门/业务类型下的外部系统推送开关
-- 创建日期2026-01-20
-- 重复执行时请先备份数据
-- DROP TABLE IF EXISTS system_external_push_config;
-- 创建表
CREATE TABLE system_external_push_config (
id BIGINT NOT NULL PRIMARY KEY,
company_id BIGINT DEFAULT NULL NULL,
dept_id BIGINT DEFAULT NULL NULL,
business_type VARCHAR(32) DEFAULT NULL NULL,
external_system VARCHAR(64) DEFAULT NULL NULL,
enable_push BIT DEFAULT '1' NOT NULL,
remark VARCHAR(512) DEFAULT NULL NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL,
creator VARCHAR(64) DEFAULT '' NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL
);
-- 表和字段注释
COMMENT ON TABLE system_external_push_config IS '外部系统推送配置';
COMMENT ON COLUMN system_external_push_config.id IS '主键编号';
COMMENT ON COLUMN system_external_push_config.company_id IS '公司编号(关联 system_dept 表的 is_company=1 的记录,为空表示不限制公司)';
COMMENT ON COLUMN system_external_push_config.dept_id IS '部门编号(关联 system_dept 表的 is_company=0 的记录,为空表示公司级配置)';
COMMENT ON COLUMN system_external_push_config.business_type IS '业务类型PURCHASE/SALE/PRODUCTION为空表示所有业务类型';
COMMENT ON COLUMN system_external_push_config.external_system IS '外部系统标识ERP/IWORK/等,为空表示所有外部系统)';
COMMENT ON COLUMN system_external_push_config.enable_push IS '是否启用推送1启用 0停用';
COMMENT ON COLUMN system_external_push_config.remark IS '备注';
COMMENT ON COLUMN system_external_push_config.tenant_id IS '租户编号';
COMMENT ON COLUMN system_external_push_config.creator IS '创建者';
COMMENT ON COLUMN system_external_push_config.create_time IS '创建时间';
COMMENT ON COLUMN system_external_push_config.updater IS '更新者';
COMMENT ON COLUMN system_external_push_config.update_time IS '更新时间';
COMMENT ON COLUMN system_external_push_config.deleted IS '删除标记0未删除 1已删除';
/*-- 唯一索引:租户+公司+部门+业务类型+外部系统的组合唯一
-- 注意:因为 dept_id 和 external_system 可以为 NULL使用 COALESCE 处理
CREATE UNIQUE INDEX uk_external_push_config_unique
ON system_external_push_config (tenant_id, company_id, COALESCE(dept_id, 0), business_type, COALESCE(external_system, ''));
-- 辅助索引:按公司查询
CREATE INDEX idx_external_push_config_company
ON system_external_push_config (tenant_id, company_id);
-- 辅助索引:按业务类型查询
CREATE INDEX idx_external_push_config_biz_type
ON system_external_push_config (tenant_id, business_type);
-- 初始化菜单权限数据
-- 主菜单
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
)
SELECT
20060, '外部系统推送配置', '', 2, 60, 1,
'external-push-config', 'setting', 'system/push/config/index', 'SystemExternalPushConfig', 0,
'1', '1', '1', 'admin', SYSDATE,
'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu WHERE id = 20060
);
-- 查询权限
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, visible, keep_alive,
creator, create_time, updater, update_time, deleted
)
SELECT
2006001, '推送配置查询', 'system:external-push-config:query', 3, 1, 20060,
'', '', '', 0, '1', '1',
'admin', SYSDATE, 'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu WHERE id = 2006001
);
-- 创建权限
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, visible, keep_alive,
creator, create_time, updater, update_time, deleted
)
SELECT
2006002, '推送配置创建', 'system:external-push-config:create', 3, 2, 20060,
'', '', '', 0, '1', '1',
'admin', SYSDATE, 'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu WHERE id = 2006002
);
-- 修改权限
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, visible, keep_alive,
creator, create_time, updater, update_time, deleted
)
SELECT
2006003, '推送配置修改', 'system:external-push-config:update', 3, 3, 20060,
'', '', '', 0, '1', '1',
'admin', SYSDATE, 'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu WHERE id = 2006003
);
-- 删除权限
INSERT INTO system_menu (
id, name, permission, type, sort, parent_id,
path, icon, component, status, visible, keep_alive,
creator, create_time, updater, update_time, deleted
)
SELECT
2006004, '推送配置删除', 'system:external-push-config:delete', 3, 4, 20060,
'', '', '', 0, '1', '1',
'admin', SYSDATE, 'admin', SYSDATE, 0
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu WHERE id = 2006004
);*/