| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- -- =====================================================
- -- 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='审批流通知渠道配置';
|