Exemple #1
0
 /**
  * 获取所有获奖信息
  * @return array
  */
 public static function get_prob()
 {
     $prob_obj = Model_Christmas_Prob::data_access();
     $prob = $prob_obj->find();
     return $prob;
 }
Exemple #2
0
 /**
  * 砸蛋
  * @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;
 }