抽選ウィジェット
1942 ワード
protected function getRandMoney($phone,$prizeId = 0){
//
$prizedaily = D('DUserPrize')->getdailyprize();
//
$prize_data = D('DActivityPrize')->getActivityPrizeInfo(self::$aData['D_ID']);
$prize = array();
foreach($prize_data as $key=>$value)
{
$prize[$key]['id'] = $prize_data[$key]['D_PRIZE_ID'];
if($prize[$key]['id'] == 3){
$prize[$key]['num'] = (int)$prize_data[$key]['D_DAY_NUM'] - (int)$prizedaily[0]['P3'];
}elseif ($prize[$key]['id'] ==4){
$prize[$key]['num'] = (int)$prize_data[$key]['D_DAY_NUM'] - (int)$prizedaily[0]['P4'];
}elseif ($prize[$key]['id'] == 8){
$prize[$key]['num'] = (int)$prize_data[$key]['D_DAY_NUM'] - (int)$prizedaily[0]['P8'];
}else{
$prize[$key]['num'] = (int)$prize_data[$key]['D_DAY_NUM'] - (int)$prizedaily[0]['P9'];
}
}
unset($key, $value);
// -
$prizeTotalNum = 0;
foreach ($prize as $key => $value) {
if ($prize[$key]['num'] <= 0) {
unset($prize[$key]);
continue;
}
$prize[$key]['winStartNum'] = $prizeTotalNum + 1;
$prizeTotalNum+= $prize[$key]['num'];
$prize[$key]['winEndNum'] = $prizeTotalNum;
}
if($prizeTotalNum == 0){
return $prizeId;
}
$randPrizeNum = rand(1, $prizeTotalNum);
foreach ($prize as $key => $value) {
if ($randPrizeNum >= $prize[$key]['winStartNum'] && $randPrizeNum <= $prize[$key]['winEndNum']) {
$prizeId = (int)$prize[$key]['id'];
break;
} else {
continue;
}
}
if (!isset($prizeId) || empty($prizeId))
return $prizeId;
//
D('DActivityPrize')->usePrize($prizeId, self::$aData['D_ID']);
return $prizeId;