-- ===================================================== -- P4-16 延伸:审批流通知模板 + 通知渠道配置覆盖层 DDL -- 适用数据库:MySQL 8.0+ -- 运行方式:共享开发库 EnableInitDb / EnableInitTable 为 false, -- 需由 DBA 手动执行本脚本后重启后端服务; -- 启动时 FlowNotifyTemplateService.EnsureSystemTemplates 会幂等写入 9 条默认模板。 -- 创建时间:2026-04-16 -- ===================================================== -- 通知模板表(NotifyType + BizType 唯一;BizType='' = 全局默认,非空 = 业务覆盖) CREATE TABLE IF NOT EXISTS `ApprovalFlowNotifyTemplate` ( `Id` BIGINT NOT NULL COMMENT '主键Id', `NotifyType` VARCHAR(32) NOT NULL COMMENT '通知类型', `BizType` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '业务类型(空=全局默认)', `Title` VARCHAR(256) NOT NULL COMMENT '标题模板(支持 {变量})', `Content` VARCHAR(1024) NOT NULL COMMENT '正文模板(支持 {变量})', `IsEnabled` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用', `IsSystem` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否系统预置', `Remark` VARCHAR(256) NULL COMMENT '备注', `CreateTime` DATETIME NULL COMMENT '创建时间', `UpdateTime` DATETIME NULL COMMENT '更新时间', `CreateUserId` BIGINT NULL COMMENT '创建者Id', `CreateUserName` VARCHAR(64) NULL COMMENT '创建者', `UpdateUserId` BIGINT NULL COMMENT '修改者Id', `UpdateUserName` VARCHAR(64) NULL COMMENT '修改者', `IsDelete` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (`Id`), UNIQUE KEY `idx_notifytpl_type_biz` (`NotifyType`, `BizType`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批流通知模板'; -- 通知渠道配置覆盖层(每渠道一条;DB 有则覆盖 ApprovalFlow.json 的值) CREATE TABLE IF NOT EXISTS `ApprovalFlowNotifyConfig` ( `Id` BIGINT NOT NULL COMMENT '主键Id', `ChannelKey` VARCHAR(16) NOT NULL COMMENT '渠道标识 SignalR/Email/Sms/DingTalk/WorkWeixin', `Enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否启用', `WebhookUrl` VARCHAR(512) NULL COMMENT 'Webhook URL', `Secret` VARCHAR(128) NULL COMMENT '加签 Secret', `TemplateId` VARCHAR(64) NULL COMMENT '短信模板Id', `Remark` VARCHAR(256) NULL COMMENT '备注', `CreateTime` DATETIME NULL COMMENT '创建时间', `UpdateTime` DATETIME NULL COMMENT '更新时间', `CreateUserId` BIGINT NULL COMMENT '创建者Id', `CreateUserName` VARCHAR(64) NULL COMMENT '创建者', `UpdateUserId` BIGINT NULL COMMENT '修改者Id', `UpdateUserName` VARCHAR(64) NULL COMMENT '修改者', `IsDelete` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (`Id`), UNIQUE KEY `idx_notifycfg_channel` (`ChannelKey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批流通知渠道配置';