Добавлены модели для внешней рекламы и кэша склада WB в схему Prisma. Обновлены компоненты AdvertisingTab и WBWarehouseDashboard для работы с новыми данными. Реализованы GraphQL запросы и мутации для управления внешней рекламой и кэшем склада. Оптимизирована логика отображения статистики и добавлены новые функции для работы с рекламой.
This commit is contained in:
@ -108,6 +108,8 @@ model Organization {
|
||||
fulfillmentSupplyOrders SupplyOrder[] @relation("SupplyOrderFulfillmentCenter")
|
||||
wildberriesSupplies WildberriesSupply[]
|
||||
supplySuppliers SupplySupplier[] @relation("SupplySuppliers")
|
||||
externalAds ExternalAd[] @relation("ExternalAds")
|
||||
wbWarehouseCaches WBWarehouseCache[] @relation("WBWarehouseCaches")
|
||||
|
||||
@@map("organizations")
|
||||
}
|
||||
@ -510,3 +512,37 @@ model SupplySupplier {
|
||||
|
||||
@@map("supply_suppliers")
|
||||
}
|
||||
|
||||
model ExternalAd {
|
||||
id String @id @default(cuid())
|
||||
name String // Название рекламы
|
||||
url String // URL рекламы
|
||||
cost Decimal @db.Decimal(12, 2) // Стоимость
|
||||
date DateTime // Дата рекламы
|
||||
nmId String // ID товара Wildberries
|
||||
clicks Int @default(0) // Количество кликов
|
||||
organizationId String // ID организации
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
organization Organization @relation("ExternalAds", fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([organizationId, date])
|
||||
@@map("external_ads")
|
||||
}
|
||||
|
||||
model WBWarehouseCache {
|
||||
id String @id @default(cuid())
|
||||
organizationId String // ID организации
|
||||
cacheDate DateTime // Дата кеширования (только дата, без времени)
|
||||
data Json // Кешированные данные склада WB
|
||||
totalProducts Int @default(0) // Общее количество товаров
|
||||
totalStocks Int @default(0) // Общее количество остатков
|
||||
totalReserved Int @default(0) // Общее количество в резерве
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
organization Organization @relation("WBWarehouseCaches", fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@unique([organizationId, cacheDate])
|
||||
@@index([organizationId, cacheDate])
|
||||
@@map("wb_warehouse_caches")
|
||||
}
|
||||
|
Reference in New Issue
Block a user