]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Исправления добавлен ближайший бонус
authorAlexander Smirnov <fredeom@mail.ru>
Fri, 14 Jun 2024 12:09:15 +0000 (15:09 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Fri, 14 Jun 2024 12:09:15 +0000 (15:09 +0300)
erp24/actions/bonus/AddBonusIfWrittenOffAction.php

index 0c2ceb58856493696f6c2d634ad2d45131b6b3b2..3d3c5679e80d6e1a35ab6194756145456a3c8ed3 100644 (file)
@@ -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();
+                                }
                             }
                         }
                     }