LogService::apiErrorLog(json_encode(["error_id" => 100.021, "error" => $userBonusSendToTgLogs->getErrors()], JSON_UNESCAPED_UNICODE));
}
try {
- $result = SiteService::notifySiteAboutBonuses($phone, $bonusCount, $purchaseDate, $orderId);
+ $results = SiteService::notifySiteAboutBonuses($phone, $bonusCount, $purchaseDate, $orderId);
- $userBonusSendToTgLogs->output = Json::encode($result);
+ $userBonusSendToTgLogs->output = Json::encode($results[0]);
$userBonusSendToTgLogs->status ++;
+ $userBonusSendToTgLogs->http_code = $results[1];
$userBonusSendToTgLogs->save();
if ($userBonusSendToTgLogs->getErrors()) {
LogService::apiErrorLog(json_encode(["error_id" => 100.321, "error" => $userBonusSendToTgLogs->getErrors()], JSON_UNESCAPED_UNICODE));
--- /dev/null
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Class m250415_114901_add_column_http_code_to_table_user_bonus_send_to_tg_logs
+ */
+class m250415_114901_add_column_http_code_to_table_user_bonus_send_to_tg_logs extends Migration
+{
+ const TABLE_NAME = 'erp24.user_bonus_send_to_tg_logs';
+
+ /**
+ * {@inheritdoc}
+ */
+ public function safeUp()
+ {
+ $table = $this->db->schema->getTableSchema(self::TABLE_NAME);
+ if ($table === null) {
+ return;
+ }
+
+ if (!$this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('http_code')) {
+ $this->addColumn(
+ self::TABLE_NAME,
+ 'http_code',
+ $this->integer()->null()->comment('Http код ответа')
+ );
+ }
+
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function safeDown()
+ {
+ if ($this->db->schema->getTableSchema(self::TABLE_NAME, true)->getColumn('http_code')) {
+ $this->dropColumn(self::TABLE_NAME, 'http_code');
+ }
+ }
+}
* @property string $phone телефон
* @property int $bonusCount число бонусов
* @property string $date
+ * @property int|null $http_code Http код ответа
*/
class UserBonusSendToTgLogs extends \yii\db\ActiveRecord
{
return [
[['input_hash', 'check_id', 'phone', 'bonusCount', 'date'], 'required'],
[['input', 'output', 'date'], 'string'],
- [['status', 'bonusCount'], 'default', 'value' => null],
- [['status', 'bonusCount'], 'integer'],
+ [['status', 'bonusCount', 'http_code'], 'default', 'value' => null],
+ [['status', 'bonusCount', 'http_code'], 'integer'],
[['input_hash', 'phone'], 'string', 'max' => 255],
[['check_id'], 'string', 'max' => 36],
];
'phone' => 'Phone',
'bonusCount' => 'Bonus Count',
'date' => 'Дата и Время создания записи',
+ 'http_code' => 'Http код ответа',
];
}
}
class SiteService {
public static function notifySiteAboutBonuses($phone, $bonusCount, $purchaseDate, $orderId) {
$client = new Client();
- $result = null;
+ $results = [null, 500];
try {
$url = getenv('SITE_API_URL') . '/v1/order-logs';
$result = $client->post($url, [
'orderId' => $orderId,
],
]);
- $result = $result->getBody()->getContents();
+ $results = [$result->getBody()->getContents(), $result->getStatusCode()];
} catch (\Exception $e) {
LogService::apiErrorLog(json_encode(["error_id" => 7, "error" => "Ошибка отправки сообщения на сайт: " .
$e->getMessage()], JSON_UNESCAPED_UNICODE));
}
- return $result;
+ return $results;
}
}