-- =====================================================
-- P4-16 审批流通知推送日志表 DDL
-- 适用数据库：MySQL 8.0+
-- 运行方式：共享开发库 EnableInitDb / EnableInitSeed 为 false，
--           需由 DBA 手动执行本脚本后重启后端服务。
-- 创建时间：2026-04-16
-- =====================================================

CREATE TABLE IF NOT EXISTS `ApprovalFlowNotifyLog` (
    `Id`              BIGINT        NOT NULL COMMENT '主键Id',
    `InstanceId`      BIGINT        NOT NULL COMMENT '流程实例Id',
    `NotifyType`      VARCHAR(32)   NULL     COMMENT '通知类型 NewTask / Urge / FlowCompleted / Transferred / Returned / AddSign / Withdrawn / Escalated / Timeout',
    `Channel`         VARCHAR(16)   NOT NULL COMMENT '推送渠道 SignalR / Email / Sms / DingTalk / WorkWeixin',
    `Title`           VARCHAR(256)  NULL     COMMENT '通知标题',
    `TargetUserIds`   VARCHAR(1024) NULL     COMMENT '目标用户Id列表CSV',
    `TargetCount`     INT           NOT NULL DEFAULT 0 COMMENT '目标用户数',
    `Success`         TINYINT(1)    NOT NULL DEFAULT 0 COMMENT '是否成功',
    `ErrorMessage`    VARCHAR(1024) NULL     COMMENT '错误信息',
    `ElapsedMs`       INT           NOT NULL DEFAULT 0 COMMENT '耗时ms',
    `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`),
    KEY `idx_flownotifylog_instance` (`InstanceId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批流通知推送日志';
