wlzboy
3 天以前 40a8157440e3b906da8f52e07d939d78c3f4c313
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- =============================================
-- 任务状态变更历史记录表
-- 专门记录任务状态的每一次流转,便于审计与追溯
-- =============================================
 
DROP TABLE IF EXISTS `sys_task_status_history`;
CREATE TABLE `sys_task_status_history` (
    `id`              BIGINT        NOT NULL AUTO_INCREMENT              COMMENT '主键ID',
    `task_id`         BIGINT        NOT NULL                             COMMENT '任务ID',
    `task_code`       VARCHAR(64)   DEFAULT NULL                        COMMENT '任务编号(冗余,方便查询)',
    `from_status`     VARCHAR(32)   DEFAULT NULL                        COMMENT '变更前状态码(NULL表示初始创建)',
    `from_status_name` VARCHAR(64)  DEFAULT NULL                        COMMENT '变更前状态名称',
    `to_status`       VARCHAR(32)   NOT NULL                            COMMENT '变更后状态码',
    `to_status_name`  VARCHAR(64)   DEFAULT NULL                        COMMENT '变更后状态名称',
    `change_reason`   VARCHAR(500)  DEFAULT NULL                        COMMENT '变更原因/备注',
    `change_source`   VARCHAR(32)   DEFAULT 'APP'                       COMMENT '触发来源:APP-移动端,ADMIN-管理后台,SYSTEM-系统自动,LEGACY-旧系统同步',
    `operator_id`     BIGINT        DEFAULT NULL                        COMMENT '操作人ID',
    `operator_name`   VARCHAR(64)   DEFAULT NULL                        COMMENT '操作人姓名',
    `change_time`     DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP  COMMENT '变更时间',
    `longitude`       DOUBLE        DEFAULT NULL                        COMMENT '操作时的经度(GPS定位)',
    `latitude`        DOUBLE        DEFAULT NULL                        COMMENT '操作时的纬度(GPS定位)',
    `location_address` VARCHAR(255) DEFAULT NULL                        COMMENT '操作时的位置地址',
    `ip_address`      VARCHAR(128)  DEFAULT NULL                        COMMENT '操作IP地址',
    `remark`          VARCHAR(500)  DEFAULT NULL                        COMMENT '备注',
    PRIMARY KEY (`id`),
    INDEX `idx_task_id`    (`task_id`),
    INDEX `idx_task_code`  (`task_code`),
    INDEX `idx_to_status`  (`to_status`),
    INDEX `idx_change_time`(`change_time`),
    INDEX `idx_operator_id`(`operator_id`),
    CONSTRAINT `fk_status_history_task` FOREIGN KEY (`task_id`) REFERENCES `sys_task`(`task_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务状态变更历史记录表';