From f029bba2690ffe00e28525aa2fa8229e32248e4b Mon Sep 17 00:00:00 2001 From: Anyon Date: Mon, 12 Oct 2020 12:31:46 +0800 Subject: [PATCH] Update Luckdraw.php --- app/data/controller/app/Luckdraw.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/data/controller/app/Luckdraw.php b/app/data/controller/app/Luckdraw.php index 137f9a3d0..14de6de7f 100644 --- a/app/data/controller/app/Luckdraw.php +++ b/app/data/controller/app/Luckdraw.php @@ -122,14 +122,14 @@ class Luckdraw extends Controller $query = $this->app->db->name('ActivityLuckdrawConfigRecord'); $query->field('prize_num,prize_rate,prize_level,prize_code'); $prizes = $query->where(['code' => $this->code])->select()->toArray(); - $prizesNum = array_combine(array_column($prizes, 'prize_code'), array_pad([], count($prizes), 0)); - foreach ($prizes as $item) $prizesNum[$item['prize_code']] += $item['prize_num']; + /* 统计奖品信息 */ + [$prize, $prizesNum, $tempRate, $tempNumber] = [[], [], 0, rand(1, 1000000) / 10000]; + foreach ($prizes as $item) $prizesNum[$item['prize_code']] = ($prizesNum[$item['prize_code']] ?? 0) + $item['prize_num']; /* 计算抽奖的中奖数据 */ - [$prize, $tempRate, $tempNumber] = [[], 0, rand(1, 1000000) / 10000]; foreach ($prizes as $key => $item) { if (isset($useds[$item['prize_code']]) && $useds[$item['prize_code']] >= $prizesNum[$item['prize_code']]) { unset($prizes[$key]); - continue 1; + continue; } if ($tempNumber <= ($tempRate += $item['prize_rate'])) { $prize = $item;