feat(wordcloud): 下单 WCD 派单(buildWcdPackage + dispatch + 幂等 + 订单设计关联)

This commit is contained in:
2026-08-12 20:55:37 +08:00
parent 910da1c369
commit 34f48d0d59
8 changed files with 257 additions and 1 deletions
@@ -0,0 +1,15 @@
-- AlterTable
ALTER TABLE "CustomizationTask" ADD COLUMN "orderId" TEXT,
ADD COLUMN "wordcloudJobId" TEXT;
-- AlterTable
ALTER TABLE "Order" ADD COLUMN "designListId" TEXT;
-- CreateIndex
CREATE INDEX "CustomizationTask_orderId_idx" ON "CustomizationTask"("orderId");
-- CreateIndex
CREATE INDEX "Order_designListId_idx" ON "Order"("designListId");
-- AddForeignKey
ALTER TABLE "Order" ADD CONSTRAINT "Order_designListId_fkey" FOREIGN KEY ("designListId") REFERENCES "DesignList"("id") ON DELETE SET NULL ON UPDATE CASCADE;
+9
View File
@@ -85,6 +85,7 @@ model DesignList {
user User @relation(fields: [userId], references: [id])
customizations CustomizationTask[]
orders Order[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -126,7 +127,10 @@ model Order {
status OrderStatus @default(PENDING)
totalAmount Decimal @db.Decimal(10, 2)
addressSnapshot Json
// 关联的设计清单(R4 下单后 WCD 派单据此读取 designData
designListId String?
user User @relation(fields: [userId], references: [id])
designList DesignList? @relation(fields: [designListId], references: [id])
items OrderItem[]
payment Payment?
@@ -135,6 +139,7 @@ model Order {
@@index([userId])
@@index([status])
@@index([designListId])
}
enum OrderStatus {
@@ -203,6 +208,9 @@ model CustomizationTask {
id String @id @default(cuid())
designListId String?
userId String?
// R4 下单后 WCD 派单:关联的订单与词云任务
orderId String?
wordcloudJobId String?
status CustomizationTaskStatus @default(PENDING)
resultUrl String?
queueJobId String?
@@ -213,6 +221,7 @@ model CustomizationTask {
updatedAt DateTime @updatedAt
@@index([designListId])
@@index([orderId])
@@index([status])
}