' ' . date("d.m.Y H:i:s", time()) . ' JSON: ' . $json . ' ',
FILE_APPEND
);
-
- $__API_PARAMS = ['order_id', 'status'];
+ $mess = [];
+ $__API_PARAMS = ['order_id', 'status', 'marketplace_id'];
foreach ($__API_PARAMS as $paramName) {
if (empty($result[$paramName])) {
if ($paramName != 'order_id') {
LogService::apiErrorLog(
json_encode(
- ["error_id" => 0, "error" => "$paramName is required"],
+ ["error_id" => 0.1, "error" => "$paramName is required"],
JSON_UNESCAPED_UNICODE
)
);
if ($paramName != 'status') {
LogService::apiErrorLog(
json_encode(
- ["error_id" => 0, "error" => "$paramName is required"],
+ ["error_id" => 0.1, "error" => "$paramName is required"],
+ JSON_UNESCAPED_UNICODE
+ )
+ );
+ }
+ if ($paramName != 'marketplace_id') {
+ LogService::apiErrorLog(
+ json_encode(
+ ["error_id" => 0.1, "error" => "$paramName is required"],
JSON_UNESCAPED_UNICODE
)
);
}
- return $this->asJson(["error_id" => 0, "error" => "$paramName is required"]);
+ return $this->asJson(["error_id" => 0.1, "error" => "$paramName is required"]);
}
}
- $orderGuid = $result['order_id'];
- $orderStatus = $result['status'];
$updateResult = null;
- $orderStatus1CCodes = MarketplaceOrders::getStatusCodes($orderStatus);
+
// данные из запроса
$marketplaceGuid = $result['marketplace_id'];
$orderGuid = $result['order_id'];
->where(['marketplace_id' => $marketplaceId])
->andWhere(['status' => $orderStatus])
->one();
+ if (empty($status1CRecord)) {
+ $mess["result"] = 'error';
+ $mess["message_order"] = "Статус не найден";
+ LogService::apiLogs(1, json_encode($mess, JSON_UNESCAPED_UNICODE));
+ file_put_contents(
+ self::OUT_DIR . '/changed_orders_' . $fl . '.json',
+ PHP_EOL . '--' . __LINE__ . ' OK ',
+ FILE_APPEND
+ );
+ Yii::error('Ошибка: такого статуса не существует' . $orderStatus, __METHOD__);
+ return $this->asJson($mess);
+ }
$statusId1C = (int)$status1CRecord->status_id;
-
// Получаем статусы МП по статусу 1С
$orderStatus1CToCodes = MarketplaceOrders::getStatusCodes($orderStatus);
->one();
if ($order) {
+ if (
+ in_array($result['status'], ['Отказ', 'Собрано']) &&
+ $order->marketplace_id == 2
+ ) {
+ $updateResult = MarketplaceService::updateOrderStatus(
+ $order->warehouse_id,
+ $order->marketplace_order_id,
+ $orderStatus1CToCodes[0],
+ $orderStatus1CToCodes[1]
+ );
+ $mess["message_status_update"] = $updateResult;
+ }
$order->status_1c = $statusId1C;
if (!empty($orderStatus1CToCodes)) {
$order->status_id = $statusId;
$orderDetails = [
'date' => date('Y-m-d H:i:s')
];
+
MarketplaceService::createOrUpdateStatusHistory($order->id, $statusId, $substatusId, $orderDetails);
$mess["result"] = true;
$mess["message_order"] = "Статус получен";
}
}
- //MarketplaceService::updateOrderStatus($order->warehouse_id, $order->marketplace_order_id, $orderStatus1CCodes[0], $orderStatus1CCodes[1]);
LogService::apiLogs(1, json_encode($mess, JSON_UNESCAPED_UNICODE));
file_put_contents(
return [
[['store_id', 'warehouse_guid', 'returned_at', 'return_data', 'raw_data', 'guid'], 'default', 'value' => null],
[['cancel_requested'], 'default', 'value' => 0],
- [['status_1c'], 'default', 'value' => 1],
+ [['status_1c'], 'default', 'value' => 1000],
[['marketplace_order_id', 'marketplace_id', 'marketplace_name', 'status_id', 'substatus_id', 'creation_date', 'updated_at', 'total', 'delivery_total', 'buyer_total_before_discount', 'tax_system', 'payment_type', 'payment_method'], 'required'],
[['store_id', 'status_id', 'substatus_id', 'fake', 'cancel_requested', 'status_1c'], 'default', 'value' => null],
[[ 'fake'], 'default', 'value' => 0],