/** * 获取所有获奖信息 * @return array */ public static function get_prob() { $prob_obj = Model_Christmas_Prob::data_access(); $prob = $prob_obj->find(); return $prob; }
/** * 砸蛋 * @param $random_num 随机数 * @param $big_prize_type 大奖类型 * @return bool */ function hit_the_egg($random_num, $big_prize_type) { //设置各种概率 $arr_prob = Model_Christmas_Prob::get_prob(); //大奖的概率 //是否是高概率时间 $is_high_probability_time = $this->is_high_probability_time(); //特殊的时间里有高概率和其他时间都是普通概率 if ($is_high_probability_time === true) { $big_prize_max_num = $arr_prob[$big_prize_type - 1]->prob_max; } else { $big_prize_max_num = 1; } $big_prize_min_num = $arr_prob[$big_prize_type - 1]->prob_min; //四等奖的概率 $prize4_min_num = $arr_prob[3]->prob_min; $prize4_max_num = $arr_prob[3]->prob_max; //五等奖的概率 $prize5_min_num = $arr_prob[4]->prob_min; $prize5_max_num = $arr_prob[4]->prob_max; //六等奖的概率 $prize6_min_num = $arr_prob[5]->prob_min; $prize6_max_num = $arr_prob[5]->prob_max; //七等奖的概率 $prize7_min_num = $arr_prob[6]->prob_min; $prize7_max_num = $arr_prob[6]->prob_max; //八等奖的概率 $prize8_min_num = $arr_prob[7]->prob_min; $prize8_max_num = $arr_prob[7]->prob_max; //先判断是否中大奖 if ($random_num >= $big_prize_min_num && $random_num <= $big_prize_max_num) { //有一台ipad mini要落在上海 $time_slot = $this->get_now_time_slot(); if ($time_slot == 3 && self::$BrokerInfo['CITYID'] != 11) { echo json_encode(array("success" => true, "status" => self::$NO_PRIZE_STATUS)); exit; } //当前经纪人是否中过当前大奖 $cur_prize_num = Model_Christmas_PrizeLog::get_win_prize_num($big_prize_type, self::$intBrokerID); if ($cur_prize_num == 0) { $this->do_win_prize($big_prize_type); } } elseif ($random_num > $prize4_min_num && $random_num <= $prize4_max_num) { $this->do_win_prize(Model_Christmas_PrizeLog::CHRISTMAS_PRIZE_TYPE_4); } elseif ($random_num > $prize5_min_num && $random_num <= $prize5_max_num) { $this->do_win_prize(Model_Christmas_PrizeLog::CHRISTMAS_PRIZE_TYPE_5); } elseif ($random_num > $prize6_min_num && $random_num <= $prize6_max_num) { $this->do_win_prize(Model_Christmas_PrizeLog::CHRISTMAS_PRIZE_TYPE_6); } elseif ($random_num > $prize7_min_num && $random_num <= $prize7_max_num) { $this->do_win_prize(Model_Christmas_PrizeLog::CHRISTMAS_PRIZE_TYPE_7); } elseif ($random_num > $prize8_min_num && $random_num <= $prize8_max_num) { $this->do_win_prize(Model_Christmas_PrizeLog::CHRISTMAS_PRIZE_TYPE_8); } else { echo json_encode(array("success" => true, "status" => self::$NO_PRIZE_STATUS)); exit; } echo json_encode(array("success" => true, "status" => self::$NO_PRIZE_STATUS)); exit; }