From: fomichev Date: Wed, 5 Mar 2025 06:59:37 +0000 (+0300) Subject: Callback X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=ec425be19d8ed3b2ca93cd2393cb31fa80996e62;p=erp24_rep%2Fyii-erp24%2F.git Callback --- diff --git a/erp24/media/controllers/WhatsappMessageStatus.php b/erp24/media/controllers/WhatsappMessageStatus.php deleted file mode 100644 index b11f23cd..00000000 --- a/erp24/media/controllers/WhatsappMessageStatus.php +++ /dev/null @@ -1,87 +0,0 @@ -response->format = Response::FORMAT_JSON; - $request = Yii::$app->request; - - if (!$request->isPost) { - throw new MethodNotAllowedHttpException("Метод не разрешён. Используйте POST."); - } - - $rawBody = $request->getRawBody(); - $data = json_decode($rawBody, true); - - if (json_last_error() !== JSON_ERROR_NONE) { - Yii::error("Неверный JSON: " . $rawBody, __METHOD__); - throw new BadRequestHttpException("Неверный формат JSON."); - } - - if (empty($data['requestId'])) { - throw new BadRequestHttpException("Отсутствует обязательный параметр: requestId."); - } - - $requestId = $data['requestId']; - - $model = UsersWhatsappMessage::findOne(['request_id' => $requestId]); - if (!$model) { - Yii::warning("Запись с request_id {$requestId} не найдена.", __METHOD__); - return ['message' => "Запись с request_id {$requestId} не найдена."]; - } - - if (isset($data['status'])) { - $model->status = $data['status']; - } else { - throw new BadRequestHttpException("Отсутствует обязательный параметр: status."); - } - - if ($model->save()) { - Yii::info("Статус сообщения с request_id {$requestId} обновлён на {$model->status}.", __METHOD__); - return ['message' => "Статус сообщения обновлён."]; - } else { - Yii::error("Не удалось сохранить обновлённый статус для request_id {$requestId}.", __METHOD__); - throw new ServerErrorHttpException("Не удалось сохранить обновлённый статус."); - } - } -} \ No newline at end of file diff --git a/erp24/media/controllers/WhatsappMessageStatusController.php b/erp24/media/controllers/WhatsappMessageStatusController.php new file mode 100644 index 00000000..ac52d3cf --- /dev/null +++ b/erp24/media/controllers/WhatsappMessageStatusController.php @@ -0,0 +1,87 @@ +response->format = Response::FORMAT_JSON; + $request = Yii::$app->request; + + if (!$request->isPost) { + throw new MethodNotAllowedHttpException("Метод не разрешён. Используйте POST."); + } + + $rawBody = $request->getRawBody(); + $data = json_decode($rawBody, true); + + if (json_last_error() !== JSON_ERROR_NONE) { + Yii::error("Неверный JSON: " . $rawBody, __METHOD__); + throw new BadRequestHttpException("Неверный формат JSON."); + } + + if (empty($data['requestId'])) { + throw new BadRequestHttpException("Отсутствует обязательный параметр: requestId."); + } + + $requestId = $data['requestId']; + + $model = UsersWhatsappMessage::findOne(['request_id' => $requestId]); + if (!$model) { + Yii::warning("Запись с request_id {$requestId} не найдена.", __METHOD__); + return ['message' => "Запись с request_id {$requestId} не найдена."]; + } + + if (isset($data['status'])) { + $model->status = $data['status']; + } else { + throw new BadRequestHttpException("Отсутствует обязательный параметр: status."); + } + + if ($model->save()) { + Yii::info("Статус сообщения с request_id {$requestId} обновлён на {$model->status}.", __METHOD__); + return ['message' => "Статус сообщения обновлён."]; + } else { + Yii::error("Не удалось сохранить обновлённый статус для request_id {$requestId}.", __METHOD__); + throw new ServerErrorHttpException("Не удалось сохранить обновлённый статус."); + } + } +} \ No newline at end of file