--- /dev/null
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Добавляет поле partner_warehouse_id в таблицу marketplace_store.
+ * Используется как fallback для физического ID склада YandexMarket (например, "206008"),
+ * когда API не возвращает partnerWarehouseId для DBS-заказов.
+ */
+class m260301_100000_add_partner_warehouse_id_to_marketplace_store extends Migration
+{
+ public function up()
+ {
+ $this->addColumn(
+ '{{%marketplace_store}}',
+ 'partner_warehouse_id',
+ $this->string(64)->null()->comment('Физический ID склада маркетплейса (YM: partnerWarehouseId, например 206008)')
+ );
+ }
+
+ public function down()
+ {
+ $this->dropColumn('{{%marketplace_store}}', 'partner_warehouse_id');
+ }
+}
* @property int $updated_by
* @property string $account_email Почта привязанная к магазину
* @property int $is_feed_active
+ * @property string|null $partner_warehouse_id Физический ID склада маркетплейса (YM: partnerWarehouseId)
*/
class MarketplaceStore extends \yii\db\ActiveRecord
{
return [
[['store_id', 'guid', 'warehouse_id', 'warehouse_guid', 'firm'], 'required'],
[['store_id'], 'exist', 'targetClass' => CityStore::class, 'targetAttribute' => 'id'],
- [['name', 'guid', 'firm', 'warehouse_guid', 'account_email'], 'string'],
+ [['name', 'guid', 'firm', 'warehouse_guid', 'account_email', 'partner_warehouse_id'], 'string'],
[['created_at', 'updated_at'], 'datetime', 'format' => 'php:Y-m-d H:i:s'],
[['store_id', 'created_by', 'is_feed_active', 'updated_by', 'warehouse_id',], 'integer'],
['account_email', 'unique', 'message' => 'Этот email уже используется.'],
'updated_at' => 'Дата изменения записи',
'updated_by' => 'Автор изменения записи',
'account_email' => 'Почта привязанная к магазину',
- 'is_feed_active' => 'Активность фида'
+ 'is_feed_active' => 'Активность фида',
+ 'partner_warehouse_id' => 'Физический ID склада маркетплейса'
];
}
Yii::warning('getSubsidy() null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku() . ', subsidy из subsidies[]: ' . $subsidy, 'marketplace');
}
$orderItem->subsidy = $subsidy;
- $partnerWarehouseId = $item->getPartnerWarehouseId() ?? $marketplaceOrder->warehouse_guid;
+ $partnerWarehouseId = $item->getPartnerWarehouseId() ?? ($store ? $store->partner_warehouse_id : null);
if ($partnerWarehouseId === null) {
Yii::error('getPartnerWarehouseId() вернул null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku(), 'marketplace');
continue;
Yii::warning('getSubsidy() null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku() . ', subsidy из subsidies[]: ' . $subsidy, 'marketplace');
}
$orderItem->subsidy = $subsidy;
- $partnerWarehouseId = $item->getPartnerWarehouseId() ?? $marketplaceOrder->warehouse_guid;
+ $partnerWarehouseId = $item->getPartnerWarehouseId() ?? ($store ? $store->partner_warehouse_id : null);
if ($partnerWarehouseId === null) {
Yii::error('getPartnerWarehouseId() вернул null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku(), 'marketplace');
continue;
Yii::warning('getSubsidy() null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku() . ', subsidy из subsidies[]: ' . $subsidy, 'marketplace');
}
$orderItem->subsidy = $subsidy;
- $partnerWarehouseId = $item->getPartnerWarehouseId() ?? $marketplaceOrder->warehouse_guid;
+ $partnerWarehouseId = $item->getPartnerWarehouseId() ?? ($store ? $store->partner_warehouse_id : null);
if ($partnerWarehouseId === null) {
Yii::error('getPartnerWarehouseId() вернул null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku(), 'marketplace');
continue;
}
Yii::warning('getSubsidy() null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku() . ', subsidy из subsidies[]: ' . $subsidy, 'marketplace');
}
- $partnerWarehouseId = $item->getPartnerWarehouseId() ?? $marketplaceOrder->warehouse_guid;
+ $partnerWarehouseId = $item->getPartnerWarehouseId() ?? ($store ? $store->partner_warehouse_id : null);
if ($partnerWarehouseId === null) {
Yii::error('getPartnerWarehouseId() вернул null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku(), 'marketplace');
continue;
Yii::warning('getSubsidy() null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku() . ', subsidy из subsidies[]: ' . $subsidy, 'marketplace');
}
$orderItem->subsidy = $subsidy;
- $partnerWarehouseId = $item->getPartnerWarehouseId() ?? $marketplaceOrder->warehouse_guid;
+ $partnerWarehouseId = $item->getPartnerWarehouseId() ?? ($store ? $store->partner_warehouse_id : null);
if ($partnerWarehouseId === null) {
Yii::error('getPartnerWarehouseId() вернул null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku(), 'marketplace');
continue;
Yii::warning('getSubsidy() null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku() . ', subsidy из subsidies[]: ' . $subsidy, 'marketplace');
}
$orderItem->subsidy = $subsidy;
- $partnerWarehouseId = $item->getPartnerWarehouseId() ?? $marketplaceOrder->warehouse_guid;
+ $partnerWarehouseId = $item->getPartnerWarehouseId() ?? ($store ? $store->partner_warehouse_id : null);
if ($partnerWarehouseId === null) {
Yii::error('getPartnerWarehouseId() вернул null для orderId=' . $marketplaceOrder->id . ', shopSku=' . $item->getShopSku(), 'marketplace');
continue;