From: Alexander Smirnov Date: Sun, 28 Apr 2024 12:53:07 +0000 (+0300) Subject: fix 1000 per 5000 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=0932000886e906b34a614e6dd2156472110305d4;p=yii-erp24%2F.git fix 1000 per 5000 --- 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 6cd911b..6e1791d 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(); } }