Update Luckdraw.php

This commit is contained in:
Anyon 2020-10-12 12:31:46 +08:00
parent 58c4b35b2a
commit f029bba269

View File

@ -122,14 +122,14 @@ class Luckdraw extends Controller
$query = $this->app->db->name('ActivityLuckdrawConfigRecord'); $query = $this->app->db->name('ActivityLuckdrawConfigRecord');
$query->field('prize_num,prize_rate,prize_level,prize_code'); $query->field('prize_num,prize_rate,prize_level,prize_code');
$prizes = $query->where(['code' => $this->code])->select()->toArray(); $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) { foreach ($prizes as $key => $item) {
if (isset($useds[$item['prize_code']]) && $useds[$item['prize_code']] >= $prizesNum[$item['prize_code']]) { if (isset($useds[$item['prize_code']]) && $useds[$item['prize_code']] >= $prizesNum[$item['prize_code']]) {
unset($prizes[$key]); unset($prizes[$key]);
continue 1; continue;
} }
if ($tempNumber <= ($tempRate += $item['prize_rate'])) { if ($tempNumber <= ($tempRate += $item['prize_rate'])) {
$prize = $item; $prize = $item;