2026-04-16_approval_flow_notify_tpl_cfg.sql 3.2 KB

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