-- 订单批量异步任务表(RabbitMQ 方案) -- 执行前请确认数据库为 oms CREATE TABLE IF NOT EXISTS `t_order_batch_job` ( `Id` int NOT NULL AUTO_INCREMENT, `Action` varchar(64) NOT NULL DEFAULT '', `Status` varchar(32) NOT NULL DEFAULT 'pending', `Total` int NOT NULL DEFAULT 0, `SuccessCount` int NOT NULL DEFAULT 0, `FailCount` int NOT NULL DEFAULT 0, `CustomerId` int NULL, `PayloadJson` json NULL, `RequestId` varchar(64) NULL, `StartedAt` datetime NULL, `FinishedAt` datetime NULL, `IsDeleted` tinyint(1) NOT NULL DEFAULT 0, `CreateUserId` int NOT NULL DEFAULT 0, `CreateTime` datetime NOT NULL, `UpdateUserId` int NULL, `UpdateTime` datetime NULL, PRIMARY KEY (`Id`), KEY `idx_order_batch_job_request` (`RequestId`), KEY `idx_order_batch_job_status` (`Status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `t_order_batch_job_item` ( `Id` int NOT NULL AUTO_INCREMENT, `JobId` int NOT NULL, `OrderId` int NOT NULL, `ServiceNo` varchar(64) NULL, `Action` varchar(64) NOT NULL DEFAULT '', `Status` varchar(32) NOT NULL DEFAULT 'pending', `MessageId` varchar(128) NULL, `FailReason` text NULL, `RetryCount` int NOT NULL DEFAULT 0, `StartedAt` datetime NULL, `FinishedAt` datetime NULL, `IsDeleted` tinyint(1) NOT NULL DEFAULT 0, `CreateUserId` int NOT NULL DEFAULT 0, `CreateTime` datetime NOT NULL, `UpdateUserId` int NULL, `UpdateTime` datetime NULL, 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; -- 阶段三:若表已存在,请执行 -- ALTER TABLE `t_order_batch_job_item` ADD COLUMN `ResultJson` text NULL AFTER `FailReason`; -- 阶段四:若表已存在,请执行 -- ALTER TABLE `t_order_batch_job_item` ADD COLUMN `PayloadJson` text NULL AFTER `FailReason`;