From 0932000886e906b34a614e6dd2156472110305d4 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Sun, 28 Apr 2024 15:53:07 +0300 Subject: [PATCH] fix 1000 per 5000 --- erp24/scripts/tasks/task_31_for_5000_give_1000.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/erp24/scripts/tasks/task_31_for_5000_give_1000.php b/erp24/scripts/tasks/task_31_for_5000_give_1000.php index 6cd911b4..6e1791d1 100644 --- a/erp24/scripts/tasks/task_31_for_5000_give_1000.php +++ b/erp24/scripts/tasks/task_31_for_5000_give_1000.php @@ -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(); } } -- 2.39.5