From ab1f2dfbdf3e033580908ffd954116da3673cc7c Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 7 Sep 2026 05:33:47 +0700 Subject: [PATCH] feat(db): add tiktok settlement migration --- .../migration.sql | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 apps/backend/prisma/migrations/20260907053500_add_tiktok_settlement/migration.sql diff --git a/apps/backend/prisma/migrations/20260907053500_add_tiktok_settlement/migration.sql b/apps/backend/prisma/migrations/20260907053500_add_tiktok_settlement/migration.sql new file mode 100644 index 0000000..9bb7d82 --- /dev/null +++ b/apps/backend/prisma/migrations/20260907053500_add_tiktok_settlement/migration.sql @@ -0,0 +1,43 @@ +-- AlterTable +ALTER TABLE "TiktokOrder" ADD COLUMN IF NOT EXISTS "commissionFee" DOUBLE PRECISION NOT NULL DEFAULT 0, +ADD COLUMN IF NOT EXISTS "affiliateFee" DOUBLE PRECISION NOT NULL DEFAULT 0, +ADD COLUMN IF NOT EXISTS "netSettlement" DOUBLE PRECISION NOT NULL DEFAULT 0, +ADD COLUMN IF NOT EXISTS "settledAt" TEXT, +ADD COLUMN IF NOT EXISTS "isSettled" BOOLEAN NOT NULL DEFAULT false; + +-- CreateTable +CREATE TABLE IF NOT EXISTS "TiktokSettlement" ( + "id" SERIAL NOT NULL, + "orderId" TEXT NOT NULL, + "shop" TEXT NOT NULL DEFAULT 'hom-aroma', + "transactionType" TEXT, + "orderCreatedTime" TEXT, + "orderSettledTime" TEXT, + "currency" TEXT NOT NULL DEFAULT 'THB', + "settlementAmount" DOUBLE PRECISION NOT NULL DEFAULT 0, + "grossRevenue" DOUBLE PRECISION NOT NULL DEFAULT 0, + "subtotalAfterSellerDiscount" DOUBLE PRECISION NOT NULL DEFAULT 0, + "subtotalBeforeDiscount" DOUBLE PRECISION NOT NULL DEFAULT 0, + "sellerDiscount" DOUBLE PRECISION NOT NULL DEFAULT 0, + "refundAmount" DOUBLE PRECISION NOT NULL DEFAULT 0, + "totalFee" DOUBLE PRECISION NOT NULL DEFAULT 0, + "orderFee" DOUBLE PRECISION NOT NULL DEFAULT 0, + "commissionFee" DOUBLE PRECISION NOT NULL DEFAULT 0, + "affiliateCommission" DOUBLE PRECISION NOT NULL DEFAULT 0, + "affiliatePartnerFee" DOUBLE PRECISION NOT NULL DEFAULT 0, + "growthSupportFee" DOUBLE PRECISION NOT NULL DEFAULT 0, + "shippingFeeActual" DOUBLE PRECISION NOT NULL DEFAULT 0, + "platformShippingDiscount" DOUBLE PRECISION NOT NULL DEFAULT 0, + "customerPayment" DOUBLE PRECISION NOT NULL DEFAULT 0, + "rawData" JSONB, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "TiktokSettlement_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX IF NOT EXISTS "TiktokSettlement_orderId_key" ON "TiktokSettlement"("orderId"); + +-- CreateIndex +CREATE INDEX IF NOT EXISTS "TiktokSettlement_shop_idx" ON "TiktokSettlement"("shop");