Добавлены модели для внешней рекламы и кэша склада WB в схему Prisma. Обновлены компоненты AdvertisingTab и WBWarehouseDashboard для работы с новыми данными. Реализованы GraphQL запросы и мутации для управления внешней рекламой и кэшем склада. Оптимизирована логика отображения статистики и добавлены новые функции для работы с рекламой.
This commit is contained in:
@ -108,6 +108,12 @@ export const typeDefs = gql`
|
||||
|
||||
# Список кампаний Wildberries
|
||||
getWildberriesCampaignsList: WildberriesCampaignsListResponse!
|
||||
|
||||
# Типы для внешней рекламы
|
||||
getExternalAds(dateFrom: String!, dateTo: String!): ExternalAdsResponse!
|
||||
|
||||
# Типы для кеша склада WB
|
||||
getWBWarehouseData: WBWarehouseCacheResponse!
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
@ -244,6 +250,12 @@ export const typeDefs = gql`
|
||||
# Админ мутации
|
||||
adminLogin(username: String!, password: String!): AdminAuthResponse!
|
||||
adminLogout: Boolean!
|
||||
|
||||
# Типы для внешней рекламы
|
||||
createExternalAd(input: ExternalAdInput!): ExternalAdResponse!
|
||||
updateExternalAd(id: ID!, input: ExternalAdInput!): ExternalAdResponse!
|
||||
deleteExternalAd(id: ID!): ExternalAdResponse!
|
||||
updateExternalAdClicks(id: ID!, clicks: Int!): ExternalAdResponse!
|
||||
}
|
||||
|
||||
# Типы данных
|
||||
@ -1147,4 +1159,84 @@ export const typeDefs = gql`
|
||||
advertId: Int!
|
||||
changeTime: String!
|
||||
}
|
||||
|
||||
# Типы для внешней рекламы
|
||||
type ExternalAd {
|
||||
id: ID!
|
||||
name: String!
|
||||
url: String!
|
||||
cost: Float!
|
||||
date: String!
|
||||
nmId: String!
|
||||
clicks: Int!
|
||||
organizationId: String!
|
||||
createdAt: String!
|
||||
updatedAt: String!
|
||||
}
|
||||
|
||||
input ExternalAdInput {
|
||||
name: String!
|
||||
url: String!
|
||||
cost: Float!
|
||||
date: String!
|
||||
nmId: String!
|
||||
}
|
||||
|
||||
type ExternalAdResponse {
|
||||
success: Boolean!
|
||||
message: String
|
||||
externalAd: ExternalAd
|
||||
}
|
||||
|
||||
type ExternalAdsResponse {
|
||||
success: Boolean!
|
||||
message: String
|
||||
externalAds: [ExternalAd!]!
|
||||
}
|
||||
|
||||
extend type Query {
|
||||
getExternalAds(dateFrom: String!, dateTo: String!): ExternalAdsResponse!
|
||||
}
|
||||
|
||||
extend type Mutation {
|
||||
createExternalAd(input: ExternalAdInput!): ExternalAdResponse!
|
||||
updateExternalAd(id: ID!, input: ExternalAdInput!): ExternalAdResponse!
|
||||
deleteExternalAd(id: ID!): ExternalAdResponse!
|
||||
updateExternalAdClicks(id: ID!, clicks: Int!): ExternalAdResponse!
|
||||
}
|
||||
|
||||
# Типы для кеша склада WB
|
||||
type WBWarehouseCache {
|
||||
id: ID!
|
||||
organizationId: String!
|
||||
cacheDate: String!
|
||||
data: String! # JSON строка с данными
|
||||
totalProducts: Int!
|
||||
totalStocks: Int!
|
||||
totalReserved: Int!
|
||||
createdAt: String!
|
||||
updatedAt: String!
|
||||
}
|
||||
|
||||
type WBWarehouseCacheResponse {
|
||||
success: Boolean!
|
||||
message: String
|
||||
cache: WBWarehouseCache
|
||||
fromCache: Boolean! # Указывает, получены ли данные из кеша
|
||||
}
|
||||
|
||||
input WBWarehouseCacheInput {
|
||||
data: String! # JSON строка с данными склада
|
||||
totalProducts: Int!
|
||||
totalStocks: Int!
|
||||
totalReserved: Int!
|
||||
}
|
||||
|
||||
extend type Query {
|
||||
getWBWarehouseData: WBWarehouseCacheResponse!
|
||||
}
|
||||
|
||||
extend type Mutation {
|
||||
saveWBWarehouseCache(input: WBWarehouseCacheInput!): WBWarehouseCacheResponse!
|
||||
}
|
||||
`;
|
||||
|
Reference in New Issue
Block a user