try {
if ($model->fake) {
- $deliveredStatusId = MarketplaceOrderStatusTypes::find()->select('id')->where(['code' => 'DELIVERED'])->scalar();
- $deliveredSubstatusId = MarketplaceOrderStatusTypes::find()->select('id')->where(['code' => 'DELIVERY_SERVICE_DELIVERED'])->scalar();
+ $deliveredStatusId = MarketplaceOrderStatusTypes::find()->select('id')->where(['code' => 'DELIVERED'])->one();
+ $deliveredSubstatusId = MarketplaceOrderStatusTypes::find()->select('id')->where(['code' => 'DELIVERY_SERVICE_DELIVERED'])->one();
if (!$deliveredStatusId || !$deliveredSubstatusId) {
throw new \Exception('Не удалось найти статусы DELIVERED / DELIVERY_SERVICE_DELIVERED');
}
- $model->status_id = $deliveredStatusId;
- $model->substatus_id = $deliveredSubstatusId;
+ $model->status_id = $deliveredStatusId->id;
+ $model->substatus_id = $deliveredSubstatusId->id;
+ if ((int)$model->marketplace_id === 2) {
+ $rawData = json_decode($model->raw_data, true, 512, JSON_THROW_ON_ERROR);
+ $rawData['status'] = $deliveredStatusId->code;
+ $rawData['substatus'] = $deliveredSubstatusId->code;
+ $model->raw_data = json_encode($rawData, JSON_UNESCAPED_UNICODE);
+ }
if (!$model->save()) {
throw new \Exception('Ошибка сохранения модели: ' . json_encode($model->getErrors(), JSON_UNESCAPED_UNICODE));
if ($model->fake) {
$model->status_id = $statusCancelled->id;
$model->substatus_id = $substatusFailed->id;
-
+ if ((int)$model->marketplace_id === 2) {
+ $rawData = json_decode($model->raw_data, true, 512, JSON_THROW_ON_ERROR);
+ $rawData['status'] = $statusCancelled->code;
+ $rawData['substatus'] = $substatusFailed->code;
+ $model->raw_data = json_encode($rawData, JSON_UNESCAPED_UNICODE);
+ }
if (!$model->save()) {
Yii::error('Ошибка сохранения модели: ' . json_encode($model->getErrors(), JSON_UNESCAPED_UNICODE));
Yii::$app->session->setFlash('error', 'Ошибка обновления статуса заказа.');
public function actionCheckOrders($id)
{
$model = $this->findModel($id);
- $json = '{
- "pager": {
- "total": 32,
- "from": 1,
- "to": 32,
- "currentPage": 1,
- "pagesCount": 1,
- "pageSize": 50
- },
- "orders": [' . $model->raw_data . '],
- "paging": {}
- }';
- $content = json_decode($json, false, 512, JSON_THROW_ON_ERROR);
-
- $testCampaignId = 109969229;
- $testData = ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\GetOrdersResponse', []);
- if (!empty($testData) && isset($testData['orders'])) {
- $ordersData[$testCampaignId] = $testData['orders'];
- $result = MarketplaceService::processOrders($ordersData);
- if (!empty($result)) {
- Yii::error('Заказ обновлен: ' . json_encode($result, JSON_UNESCAPED_UNICODE));
- Yii::$app->session->setFlash('success', 'Заказ обновлен.');
- }
+ $isCheckCreated = MarketplaceService::createCheckForMarketplaceOrder($model);
+ if ($isCheckCreated) {
+ Yii::$app->session->setFlash('success', 'Чек создан для заказа ' . $model->marketplace_order_id);
+ } else {
+ Yii::error('Чек для заказа не cоздан' . $model->marketplace_order_id, 'Marketplace');
+ Yii::$app->session->setFlash('error', 'Чек не cоздан для заказа ' . $model->marketplace_order_id);
}
return $this->redirect(['index']);
}