feat: harden CMPP delivery and platform workflows

This commit is contained in:
hectorzhao
2026-07-20 18:07:29 +08:00
parent 80fb5a8f53
commit f02c33cbb7
61 changed files with 1834 additions and 281 deletions
@@ -0,0 +1,2 @@
ALTER TABLE "SmsMessageRecord"
ADD COLUMN "cmppSubmitGroupMessageId" TEXT;
@@ -0,0 +1,26 @@
ALTER TABLE "SmsMessageRecord"
ADD COLUMN "receiptRawStatus" TEXT;
ALTER TABLE "SmsReceiptRecord"
ADD COLUMN "receiptKey" TEXT,
ADD COLUMN "errorMessage" TEXT;
UPDATE "SmsReceiptRecord"
SET "receiptKey" = MD5(
COALESCE("channelId", '') || E'\u0001' ||
"gatewayMessageId" || E'\u0001' ||
"receiptStatus" || E'\u0001' ||
"rawStatus"
) || MD5("id");
ALTER TABLE "SmsReceiptRecord"
ALTER COLUMN "receiptKey" SET NOT NULL;
CREATE UNIQUE INDEX "SmsReceiptRecord_receiptKey_key"
ON "SmsReceiptRecord"("receiptKey");
CREATE INDEX "SmsSubmitRecord_channelId_gatewayMessageId_idx"
ON "SmsSubmitRecord"("channelId", "gatewayMessageId");
CREATE INDEX "SmsReceiptRecord_channelId_gatewayMessageId_idx"
ON "SmsReceiptRecord"("channelId", "gatewayMessageId");
@@ -0,0 +1,9 @@
ALTER TABLE "DailyReconciliationReport"
ADD COLUMN "failedUnits" INTEGER NOT NULL DEFAULT 0;
ALTER TABLE "DailyProfitReport"
ADD COLUMN "failedUnits" INTEGER NOT NULL DEFAULT 0,
ADD COLUMN "refundCents" BIGINT NOT NULL DEFAULT 0;
ALTER TABLE "DailyQualityReport"
ADD COLUMN "failedUnits" INTEGER NOT NULL DEFAULT 0;
@@ -0,0 +1,11 @@
ALTER TABLE "SmsReceiptRecord"
ADD COLUMN "phoneNumber" TEXT;
UPDATE "SmsReceiptRecord" receipt
SET "phoneNumber" = message."phoneNumber"
FROM "SmsMessageRecord" message
WHERE receipt."messageRecordId" = message.id
AND receipt."phoneNumber" IS NULL;
CREATE INDEX "SmsReceiptRecord_channelId_gatewayMessageId_phoneNumber_idx"
ON "SmsReceiptRecord"("channelId", "gatewayMessageId", "phoneNumber");