$orderId = $data['order_id'] ?? null;
$phone = $data['phone'] ?? null;
$pointsToAdd = $data['points_to_add'] ?? null;
+ $date = $data['date'] ?? null;
+ $price = $data['price'] ?? null;
if (!$orderId || !$phone || !$pointsToAdd) {
return $this->asJson(['error' => ['code' => 400, 'message' => 'Недостаточно параметров']]);
return $this->asJson(['error' => ['code' => 404, 'message' => 'Пользователь не найден']]);
}
- $sale = Sales::find()
- ->andWhere(['number' => $orderId])
- ->andWhere(['phone' => $phone])
- ->andWhere(['operation' => 'Продажа'])
- ->one();
-
- if (!$sale) {
- return $this->asJson(['error' => ['code' => 404, 'message' => 'Продажа не найдена']]);
- }
-
if (UsersBonus::find()
->andFilterWhere(['phone' => $phone])
->andFilterWhere(['user_id' => $clientId])
$userBonus = new UsersBonus();
$userBonus->phone = $phone;
$userBonus->name = sprintf(
- 'Возврат с покупки. Чек %s от %s. Сумма чека %s',
- $sale->number,
- date('d.m.Y H:i:s', strtotime($sale->date)),
- $sale->summ
+ 'Ð\92озвÑ\80аÑ\82 Ñ\81 онлайн покÑ\83пки. Чек %s оÑ\82 %s. СÑ\83мма Ñ\87ека %s',
+ $orderId,
+ date('d.m.Y H:i:s', strtotime($date)),
+ $price
);
$userBonus->date = date('Y-m-d H:i:s');
$userBonus->site_id = 1;
$userBonus->tip = 'plus';
$userBonus->tip_sale = 'sale';
$userBonus->user_id = $clientId;
- $userBonus->check_id = $sale->id;
- $userBonus->price = $sale->summ;
- $userBonus->store_id = $sale->store_id;
+ $userBonus->check_id = $orderId;
+ $userBonus->price = $price;
$userBonus->bonus = $pointsToAdd;
- $userBonus->date_start = $sale->date;
- $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+365 day', strtotime($sale->date)));
+ $userBonus->date_start = $date;
+ $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+365 day', strtotime($date)));
try {
if (!$userBonus->save()) {