From: Alexander Smirnov Date: Fri, 14 Jun 2024 12:09:15 +0000 (+0300) Subject: Исправления добавлен ближайший бонус X-Git-Tag: 1.3~57^2~4 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=c659e4219b38b1b9aa790264c7f0124ba3e138e1;p=erp24_rep%2Fyii-erp24%2F.git Исправления добавлен ближайший бонус --- diff --git a/erp24/actions/bonus/AddBonusIfWrittenOffAction.php b/erp24/actions/bonus/AddBonusIfWrittenOffAction.php index 0c2ceb58..3d3c5679 100644 --- a/erp24/actions/bonus/AddBonusIfWrittenOffAction.php +++ b/erp24/actions/bonus/AddBonusIfWrittenOffAction.php @@ -33,7 +33,13 @@ class AddBonusIfWrittenOffAction extends Action if ($usersBonusMinus) { $usersBonusPlus = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => $sale->id])->one(); if (!$usersBonusPlus) { - $addPlus[] = [$sale->phone, $sale->summ]; + $bonus = floor($sale->summ * 0.1); + $usersBonusNear = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => null]) + ->andWhere(['>=', 'date', '2024-05-30 21:28:00']) + ->andWhere(['between', 'bonus', $bonus - 1, $bonus + 1])->one(); + if (!$usersBonusNear) { + $addPlus[] = [$sale->phone, $sale->summ]; + } } } } @@ -57,19 +63,25 @@ class AddBonusIfWrittenOffAction extends Action if ($usersBonusMinus) { $usersBonusPlus = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => $sale->id])->one(); if (!$usersBonusPlus) { - $userBonus = new UsersBonus; - $userBonus->phone = strval($sale->phone); - $userBonus->name = "Возврат с покупки 10%. Чек " . $sale->number . " от " - . date("d.m.Y H:i:s", strtotime($sale->date)) . ". Сумма чека " . $sale->summ; - $userBonus->date = date('Y-m-d H:i:s'); - $userBonus->site_id = 1; - $userBonus->setka_id = 1; - $userBonus->tip = 'plus'; - $userBonus->tip_sale = 'sale'; - $userBonus->bonus = floor($sale->summ * 0.1); - $userBonus->date_start = $userBonus->date; - $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+366 day', strtotime($userBonus->date))); - $userBonus->save(); + $bonus = floor($sale->summ * 0.1); + $usersBonusNear = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => null]) + ->andWhere(['>=', 'date', '2024-05-30 21:28:00']) + ->andWhere(['between', 'bonus', $bonus - 1, $bonus + 1])->one(); + if (!$usersBonusNear) { + $userBonus = new UsersBonus; + $userBonus->phone = strval($sale->phone); + $userBonus->name = "Возврат с покупки 10%. Чек " . $sale->number . " от " + . date("d.m.Y H:i:s", strtotime($sale->date)) . ". Сумма чека " . $sale->summ; + $userBonus->date = date('Y-m-d H:i:s'); + $userBonus->site_id = 1; + $userBonus->setka_id = 1; + $userBonus->tip = 'plus'; + $userBonus->tip_sale = 'sale'; + $userBonus->bonus = floor($sale->summ * 0.1); + $userBonus->date_start = $userBonus->date; + $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+366 day', strtotime($userBonus->date))); + $userBonus->save(); + } } } }