admin/scripts/order_batch_job_tables.sql
zzh 600ab37594 统一 OMS DDL 到 db.sql,并新增采集插件草稿 API。
清理 sql/ 增量与种子脚本;E2E 不再依赖种子;PluginBrowserService 对接哪哪发「我的包裹」采集。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 19:44:09 +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 会跳过建表,表/字段注释不会写入。
-- 若表内已有业务数据,请勿直接 DROP;对照根目录 db.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;