' ' . date("d.m.Y H:i:s", time()) . ' JSON: ' . $json . ' ',
FILE_APPEND
);
- $orderGuid = $result['order_id'];
- $orderStatus = $result['status'];
+ $__API_PARAMS = ['order_id', 'status'];
+
+ foreach ($__API_PARAMS as $paramName) {
+ if (empty($result[$paramName])) {
+ if ($paramName != 'order_id') {
+ LogService::apiErrorLog(
+ json_encode(
+ ["error_id" => 0, "error" => "$paramName is required"],
+ JSON_UNESCAPED_UNICODE
+ )
+ );
+ }
+ if ($paramName != 'status') {
+ LogService::apiErrorLog(
+ json_encode(
+ ["error_id" => 0, "error" => "$paramName is required"],
+ JSON_UNESCAPED_UNICODE
+ )
+ );
+ }
+ return $this->asJson(["error_id" => 0, "error" => "$paramName is required"]);
+ }
+ }
+
+ $orderGuid = $result['order_id'];
+ $orderStatus = $result['status'];
+ $updateResult = null;
$orderStatus1CCodes = MarketplaceOrders::getStatusCodes($orderStatus);
$statuses = MarketplaceOrderStatusTypes::find()
->select(['id', 'code'])
$statusCodes = array_unique(array_keys($statuses));
$statusId = MarketplaceService::getOrCreateStatus($orderStatus1CCodes[0], $statuses, $statusCodes);
$substatusId = MarketplaceService::getOrCreateStatus($orderStatus1CCodes[1], $statuses, $statusCodes);
- $order = MarketplaceOrders::find()
- ->where(['guid' => $orderGuid])
- ->one();
+ $order = MarketplaceOrders::find()
+ ->where(['guid' => $orderGuid])
+ ->one();
if ($order && !empty($orderStatus1CCodes)) {
+ if (
+ in_array($result['status'], [MarketplaceOrders::STATUS_CANCELLED, MarketplaceOrders::STATUS_READY]) &&
+ $order->marketplace_id == 2
+ ) {
+ $updateResult = MarketplaceService::updateOrderStatus(
+ $order->warehouse_guid,
+ $order->marketplace_order_id,
+ $orderStatus1CCodes[0],
+ $orderStatus1CCodes[1]
+ );
+ }
$order->status_id = $statusId;
$order->substatus_id = $substatusId;
if ($order->save()) {
];
MarketplaceService::createOrUpdateStatusHistory($order->id, $statusId, $substatusId, $orderDetails);
+ } else {
+ Yii::error(
+ 'Ошибка обновления статусов' . json_encode(
+ $order->getErrors(),
+ JSON_UNESCAPED_UNICODE
+ ),
+ __METHOD__
+ );
}
}
- //MarketplaceService::updateOrderStatus($order->warehouse_id, $order->marketplace_order_id, $orderStatus1CCodes[0], $orderStatus1CCodes[1]);
$mess["result"] = true;
$mess["message_order"] = "Статус получен";
$mess["message_order_guid"] = $orderGuid;
$mess["message_status"] = $orderStatus;
+ $mess["message_status_update"] = $updateResult;
+
LogService::apiLogs(1, json_encode($mess, JSON_UNESCAPED_UNICODE));
file_put_contents(
self::OUT_DIR . '/changed_orders_' . $fl . '.json',