feat: улучшения UI компонентов, документации и сервисов интеграций
## 🎯 Основные изменения: ### ✅ Обновление документации интеграций - Расширена документация DaData API integration - Добавлены результаты тестирования и примеры использования - Обновлена информация о статусе интеграций ### ✅ Улучшения UI компонентов - Обновлены market компоненты для корректной работы с GraphQL - Исправлены параметры передачи данных в counterparties/logistics/sellers/suppliers - Улучшен registration flow и confirmation step - Обновлен dashboard home с новой функциональностью ### ✅ Улучшения GraphQL резолверов - Обновлен seller-consumables.ts с улучшенной обработкой данных - Исправлены методы создания и обновления поставок - Добавлена лучшая обработка ошибок и валидация ### ✅ Обновление сервисов интеграций - Улучшен wildberries-service.ts с новыми методами API - Добавлена лучшая обработка ответов и ошибок - Обновлены методы работы с маркетплейсами ## 🧪 Результат: - ✅ UI компоненты работают стабильнее - ✅ Документация актуализирована - ✅ Интеграции функционируют корректно - ✅ GraphQL запросы оптимизированы 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -562,24 +562,48 @@ export const sellerConsumableMutations = {
|
||||
}
|
||||
|
||||
if (status === 'COMPLETED') {
|
||||
// 📦 СОЗДАНИЕ РАСХОДНИКОВ НА СКЛАДЕ ФУЛФИЛМЕНТА
|
||||
// 📦 V2: СОЗДАНИЕ РАСХОДНИКОВ НА СКЛАДЕ ФУЛФИЛМЕНТА
|
||||
|
||||
for (const item of updatedSupply.items) {
|
||||
await prisma.supply.create({
|
||||
data: {
|
||||
name: item.product.name,
|
||||
article: item.product.article || `SELLER-${item.product.id}`,
|
||||
description: `Расходники селлера ${supply.seller.name}`,
|
||||
price: item.unitPrice,
|
||||
quantity: item.receivedQuantity || item.requestedQuantity,
|
||||
currentStock: item.receivedQuantity || item.requestedQuantity,
|
||||
usedStock: 0,
|
||||
type: 'SELLER_CONSUMABLES', // ✅ Тип для селлерских расходников
|
||||
sellerOwnerId: supply.sellerId, // ✅ Владелец - селлер
|
||||
organizationId: supply.fulfillmentCenterId, // ✅ Хранитель - фулфилмент
|
||||
category: item.product.category || 'Расходники селлера',
|
||||
status: 'available',
|
||||
// V2: Используем SellerConsumableInventory вместо Supply
|
||||
await prisma.sellerConsumableInventory.upsert({
|
||||
where: {
|
||||
sellerId_fulfillmentCenterId_productId: {
|
||||
sellerId: supply.sellerId,
|
||||
fulfillmentCenterId: supply.fulfillmentCenterId,
|
||||
productId: item.productId,
|
||||
}
|
||||
},
|
||||
update: {
|
||||
// При повторной поставке увеличиваем остаток
|
||||
currentStock: {
|
||||
increment: item.receivedQuantity || item.requestedQuantity,
|
||||
},
|
||||
totalReceived: {
|
||||
increment: item.receivedQuantity || item.requestedQuantity,
|
||||
},
|
||||
lastSupplyDate: new Date(),
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
create: {
|
||||
sellerId: supply.sellerId, // ✅ Владелец - селлер
|
||||
fulfillmentCenterId: supply.fulfillmentCenterId, // ✅ Хранитель - фулфилмент
|
||||
productId: item.productId, // ✅ Связь с продуктом
|
||||
currentStock: item.receivedQuantity || item.requestedQuantity,
|
||||
minStock: 0, // Настраивается селлером
|
||||
totalReceived: item.receivedQuantity || item.requestedQuantity,
|
||||
totalUsed: 0,
|
||||
reservedStock: 0,
|
||||
lastSupplyDate: new Date(),
|
||||
notes: `V2: Поступление от поставки ${supply.id} (Legacy migration)`,
|
||||
},
|
||||
})
|
||||
|
||||
console.log('✅ LEGACY V2 MIGRATION: SellerConsumableInventory record created/updated', {
|
||||
sellerId: supply.sellerId,
|
||||
fulfillmentCenterId: supply.fulfillmentCenterId,
|
||||
productId: item.productId,
|
||||
quantity: item.receivedQuantity || item.requestedQuantity,
|
||||
})
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user