All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
进程重启或事务回滚不再丢掉 9610、轨迹和揽收;排货完成后再补轨迹、面单和计费相关触发。 Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
1.7 KiB
SQL
40 lines
1.7 KiB
SQL
-- 创单后置步骤表:与订单同一事务写入,提交后由后台执行。
|
||
-- 可重复执行。不建唯一索引。
|
||
|
||
SET @db := DATABASE();
|
||
|
||
SET @exists := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.TABLES
|
||
WHERE TABLE_SCHEMA = @db
|
||
AND TABLE_NAME = 't_order_side_effect'
|
||
);
|
||
|
||
SET @sql := IF(
|
||
@exists = 0,
|
||
'CREATE TABLE `t_order_side_effect` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT ''主键'',
|
||
`OrderId` INT NOT NULL COMMENT ''订单 Id'',
|
||
`Step` VARCHAR(64) NOT NULL COMMENT ''步骤:customs-9610/forecast-billing/track-upsert 等'',
|
||
`Status` VARCHAR(32) NOT NULL DEFAULT ''pending'' COMMENT ''pending/running/done/failed'',
|
||
`PayloadJson` TEXT NULL COMMENT ''步骤入参,含轨迹授权头,日志中不要打印全文'',
|
||
`AttemptCount` INT NOT NULL DEFAULT 0 COMMENT ''已尝试次数'',
|
||
`NextRunTime` DATETIME NULL COMMENT ''下次可执行时间'',
|
||
`LastError` VARCHAR(512) 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 DEFAULT CURRENT_TIMESTAMP COMMENT ''创建时间'',
|
||
`UpdateUserId` INT NULL COMMENT ''更新人'',
|
||
`UpdateTime` DATETIME NULL COMMENT ''更新时间'',
|
||
PRIMARY KEY (`Id`),
|
||
KEY `idx_order_side_effect_due` (`Status`, `NextRunTime`),
|
||
KEY `idx_order_side_effect_order` (`OrderId`, `Step`)
|
||
) COMMENT=''创单后置步骤''',
|
||
'SELECT ''t_order_side_effect already exists'' AS info'
|
||
);
|
||
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|