Добавлен новый компонент для компактного выбора кампаний в AdvertisingTab, обновлены интерфейсы для типизации данных API. Реализован GraphQL запрос для получения списка кампаний Wildberries. Оптимизирована логика отображения статистики кампаний и добавлены новые поля для обработки данных. Обновлены резолверы и типы для поддержки новых данных.

This commit is contained in:
Bivekich
2025-07-28 13:19:27 +03:00
parent 17c929b507
commit 6fbb570282
4 changed files with 966 additions and 257 deletions

View File

@ -102,6 +102,9 @@ export const typeDefs = gql`
getWildberriesCampaignStats(
input: WildberriesCampaignStatsInput!
): WildberriesCampaignStatsResponse!
# Список кампаний Wildberries
getWildberriesCampaignsList: WildberriesCampaignsListResponse!
}
type Mutation {
@ -1057,9 +1060,14 @@ export const typeDefs = gql`
cr: Float!
shks: Int!
sum_price: Float!
dates: [String!]!
interval: WildberriesCampaignInterval
days: [WildberriesCampaignDayStats!]!
boosterStats: [WildberriesCampaignDayStats!]!
boosterStats: [WildberriesBoosterStats!]!
}
type WildberriesCampaignInterval {
begin: String!
end: String!
}
type WildberriesCampaignDayStats {
@ -1074,5 +1082,66 @@ export const typeDefs = gql`
cr: Float!
shks: Int!
sum_price: Float!
apps: [WildberriesAppStats!]
}
type WildberriesAppStats {
views: Int!
clicks: Int!
ctr: Float!
cpc: Float!
sum: Float!
atbs: Int!
orders: Int!
cr: Float!
shks: Int!
sum_price: Float!
appType: Int!
nm: [WildberriesProductStats!]
}
type WildberriesProductStats {
views: Int!
clicks: Int!
ctr: Float!
cpc: Float!
sum: Float!
atbs: Int!
orders: Int!
cr: Float!
shks: Int!
sum_price: Float!
name: String!
nmId: Int!
}
type WildberriesBoosterStats {
date: String!
nm: Int!
avg_position: Float!
}
# Типы для списка кампаний
type WildberriesCampaignsListResponse {
success: Boolean!
message: String
data: WildberriesCampaignsData!
}
type WildberriesCampaignsData {
adverts: [WildberriesCampaignGroup!]!
all: Int!
}
type WildberriesCampaignGroup {
type: Int!
status: Int!
count: Int!
advert_list: [WildberriesCampaignItem!]!
}
type WildberriesCampaignItem {
advertId: Int!
changeTime: String!
}
`;