admin/scripts/order_batch_job_tables.sql
zzh c918faec97 feat(order): 订单链路演练签收 API、E2E 测试与批量任务 SQL 修复
补充链路演练模拟签收接口、E2E 主数据/菜单种子与测试项目,并修复批量任务列表 SqlSugar 查询及表结构注释脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 11:32:45 +08:00

63 lines
3.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 订单批量异步任务表(RabbitMQ 方案)
-- 执行前请确认数据库为 oms
--
-- 注意:必须使用 DROP + CREATE,不能用 IF NOT EXISTS。
-- 若表已存在,IF NOT EXISTS 会跳过建表,表/字段注释不会写入。
-- 若表内已有业务数据,请勿执行本脚本,改用 sql/migrate_t_order_batch_job_comments.sql
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `t_order_batch_job_item`;
DROP TABLE IF EXISTS `t_order_batch_job`;
CREATE TABLE `t_order_batch_job` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`Action` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '批量操作类型:pay/pre-declare/intercept/parcel-create 等',
`Status` VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '任务状态:pending/running/completed/failed/cancelled',
`Total` INT NOT NULL DEFAULT 0 COMMENT '子项总数',
`SuccessCount` INT NOT NULL DEFAULT 0 COMMENT '成功数',
`FailCount` INT NOT NULL DEFAULT 0 COMMENT '失败数',
`CustomerId` INT NULL COMMENT '客户ID',
`PayloadJson` JSON NULL COMMENT '任务级扩展参数(JSON)',
`RequestId` VARCHAR(64) NULL COMMENT '请求幂等ID',
`StartedAt` DATETIME NULL COMMENT '开始执行时间',
`FinishedAt` DATETIME NULL COMMENT '结束时间',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
KEY `idx_order_batch_job_request` (`RequestId`),
KEY `idx_order_batch_job_status` (`Status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单批量异步任务表';
CREATE TABLE `t_order_batch_job_item` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,步长 1',
`JobId` INT NOT NULL COMMENT '批量任务ID',
`OrderId` INT NOT NULL COMMENT '订单ID',
`ServiceNo` VARCHAR(64) NULL COMMENT '运单号',
`Action` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '子项操作类型,通常与任务 Action 一致',
`Status` VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '子项状态:pending/running/success/failed/cancelled',
`MessageId` VARCHAR(128) NULL COMMENT 'RabbitMQ 消息ID,用于幂等与去重',
`FailReason` TEXT NULL COMMENT '失败原因',
`PayloadJson` TEXT NULL COMMENT '子项入参快照(JSON)',
`ResultJson` TEXT NULL COMMENT '子项执行结果快照(JSON)',
`RetryCount` INT NOT NULL DEFAULT 0 COMMENT '系统重试次数',
`StartedAt` DATETIME NULL COMMENT '开始执行时间',
`FinishedAt` DATETIME NULL COMMENT '结束时间',
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT '软删除:0-否,1-是',
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT '并发戳',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL COMMENT '创建时间',
`UpdateUserId` INT NULL COMMENT '更新人',
`UpdateTime` DATETIME NULL COMMENT '更新时间',
PRIMARY KEY (`Id`),
UNIQUE KEY `uk_order_batch_job_item_message` (`MessageId`),
KEY `idx_order_batch_job_item_job` (`JobId`),
KEY `idx_order_batch_job_item_order` (`OrderId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单批量异步任务明细表';
SET FOREIGN_KEY_CHECKS = 1;