]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
fix 1000 per 5000
authorAlexander Smirnov <fredeom@mail.ru>
Sun, 28 Apr 2024 12:53:07 +0000 (15:53 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Sun, 28 Apr 2024 12:53:07 +0000 (15:53 +0300)
erp24/scripts/tasks/task_31_for_5000_give_1000.php

index 6cd911b48b99cfd9ab7822d0d556f09db9341eae..6e1791d174c2fd365a0c4e39b734b0ccac953515 100644 (file)
@@ -7,6 +7,7 @@ use yii_app\records\SchedulerTaskLog;
 use yii_app\records\Users;
 use yii_app\records\UsersBonus;
 use yii_app\services\LogService;
+use yii\helpers\ArrayHelper;
 
 ini_set('max_execution_time', (string)(60 * 60 * 1)); // 1 час
 ini_set('display_errors', 'on');
@@ -64,10 +65,15 @@ try {
             $returnCheckIds[] = $return->id;
         }
 
+        $salesIds = ArrayHelper::getColumn($sales, 'id');
+        $userBonuses = UsersBonus::find()->where(['check_id' => $salesIds, 'tip_sale' => '1000per5000'])->all();
+        $userBonusPerCheckId = [];
+        foreach($userBonuses as $ub) {
+            $userBonusPerCheckId[$ub->check_id] = $ub;
+        }
         foreach ($sales as $sale) {
             /** @var $sale Sales */
-            $userBonus = UsersBonus::find()->where(['check_id' => $sale->id])->one();
-            if (!$userBonus && !in_array($sale->id, $returnCheckIds)) {
+            if (!isset($userBonusPerCheckId[$sale->id]) && !in_array($sale->id, $returnCheckIds) && strlen($sale->phone) > 5) {
                 $userBonus = new UsersBonus;
                 $userBonus->check_id = $sale->id;
                 $userBonus->date = date('Y-m-d H:i:s');
@@ -90,8 +96,8 @@ try {
                 if ($userBonus->getErrors()) {
                     var_dump($userBonus->getErrors());
                 }
-            } else if ($userBonus && in_array($sale->id, $returnCheckIds)) {
-                $userBonus->delete();
+            } else if (isset($userBonusPerCheckId[$sale->id]) && in_array($sale->id, $returnCheckIds)) {
+                $userBonusPerCheckId[$sale->id]->delete();
             }
         }