fix: persist sms carrier and province

This commit is contained in:
hectorzhao
2026-07-11 21:55:25 +08:00
parent 37048a4c9a
commit 7b8424d9bc
8 changed files with 76 additions and 12 deletions
@@ -0,0 +1,21 @@
ALTER TABLE "SmsMessageRecord"
ADD COLUMN "carrier" TEXT,
ADD COLUMN "province" TEXT;
UPDATE "SmsMessageRecord" AS message
SET "province" = segment."province"
FROM "PhoneSegment" AS segment
WHERE segment."prefix" = left(message."phoneNumber", 7);
UPDATE "SmsMessageRecord" AS message
SET "carrier" = COALESCE((
SELECT rule."carrier"
FROM "PhoneCarrierRule" AS rule
WHERE rule."status" = 'active'
AND message."phoneNumber" ~ rule."pattern"
ORDER BY rule."priority" ASC, rule."createdAt" ASC
LIMIT 1
), 'mobile');
CREATE INDEX "SmsMessageRecord_carrier_province_idx"
ON "SmsMessageRecord"("carrier", "province");
+2
View File
@@ -901,6 +901,8 @@ model SmsMessageRecord {
templateId String?
messageId String @unique
phoneNumber String
carrier String?
province String?
content String
billingUnits Int @default(1)
unitPrice Int @default(0)