Esempio n. 1
0
 public function get_results($ticket_type, $play_type, $curtime = NULL)
 {
     $matchs = array();
     $timebeg = date("Y-m-d H:i:s", time() - 100000 * 60);
     $matchtime_set = Kohana::config('site_config.match');
     //今日结束时间设置
     $timeend = $this->count_end_time(tool::get_date());
     //print $timeend;
     if ($ticket_type == 1) {
         $obj = ORM::factory('match_data')->select('match_details.*,match_datas.*')->join('match_details', 'match_details.index_id', 'match_datas.match_id', 'LEFT')->where('match_datas.ticket_type', $ticket_type)->where('match_datas.play_type', $play_type)->where('match_details.status', 0);
         if (!empty($curtime)) {
             $obj->like('match_details.time', $curtime);
         } else {
             $obj->where('match_details.time > ', tool::get_date());
         }
         $obj->orderby('match_details.time', 'ASC');
     } elseif ($ticket_type == 6) {
         $obj = ORM::factory('match_data')->select('match_bk_details.*,match_datas.*')->join('match_bk_details', 'match_bk_details.index_id', 'match_datas.match_id', 'LEFT')->where('match_datas.ticket_type', $ticket_type)->where('match_datas.play_type', $play_type)->where('match_details.status', 0);
         if (!empty($curtime)) {
             $obj->like('match_bk_details.time', $curtime);
         } else {
             $obj->where('match_bk_details.time > ', tool::get_date());
         }
         $obj->orderby('match_bk_details.time', 'ASC');
     }
     $results = $obj->find_all();
     $groups_dates = array();
     $end_dates = array();
     foreach ($results as $result) {
         $tmp = array();
         $tmp = $result->as_array();
         if (empty($tmp['index_id'])) {
             continue;
         }
         $timeend_stamp = strtotime($tmp['time']);
         //赛事开始时间
         $weekday = substr($tmp['match_info'], 0, 6);
         if (empty($groups_dates[$weekday])) {
             $groups_dates[$weekday] = date("Y-m-d", strtotime(tool::get_date_byweek($weekday, 1, $tmp['time'])));
             $end_dates[$weekday] = $this->count_end_time($groups_dates[$weekday]);
         }
         $tmp['match_date'] = $groups_dates[$weekday];
         //销售的赛事日期
         $tmp['time_beg'] = date("Y-m-d H:i:s", $timeend_stamp + 60);
         //比赛开始时间
         $tmp['time_end'] = $this->get_end_time($tmp['time'], $end_dates[$weekday], $matchtime_set['jczq_endtime']);
         //销售截止时间
         $tmp['match_end'] = 0;
         //赛事结束或开始
         if (strtotime($tmp['time_end']) < time() || time() > strtotime($tmp['time_beg'])) {
             $tmp['match_end'] = 1;
         }
         $tmp['match_url'] = $this->get_match_detail_url($tmp['match_id'], $ticket_type);
         $tmp['color'] = $this->get_match_color($tmp['league']);
         $matchs[] = $tmp;
     }
     return $matchs;
 }
Esempio n. 2
0
 /**
  * 订单列表
  */
 public function index($status = NULL)
 {
     $time_expired = 60 * 60 * 2;
     //将要过期时间
     $time_delay = 5 * 60;
     //过期延迟显示时间
     //$mklasttime = mktime(date("H"), date("i"), date("s"), date("m"), date("d")-5, date("Y"));
     //$last_time = date('Y-m-d H:i:s', $mklasttime);
     //初始化默认查询结构体
     $query_struct_default = array('where' => array(), 'orderby' => array('id' => 'DESC'), 'limit' => array('per_page' => 10, 'page' => 1));
     if (!empty($status)) {
         switch ($status) {
             case 'hasbuy':
                 $query_struct_default['where']['status'] = 0;
                 break;
             case 'noprint':
                 $query_struct_default['where']['status'] = 1;
                 break;
             case 'beexpired':
                 $query_struct_default['where']['date_end <'] = date("Y-m-d H:i:s", time() + $time_expired);
                 //当离方案截止时间小于2小时时为将要到期
                 $query_struct_default['where']['date_end >'] = tool::get_date();
                 break;
             case 'hasexpired':
                 $query_struct_default['where']['date_end <'] = date("Y-m-d H:i:s", time() + $time_delay);
                 $query_struct_default['where']['status'] = array(0);
                 break;
             case 'hasprint':
                 $query_struct_default['where']['status'] = 2;
                 break;
             case 'nobonus':
                 $query_struct_default['where']['status'] = 3;
                 break;
             case 'hasbonus':
                 $query_struct_default['where']['status'] = 4;
                 break;
             case 'givehonus':
                 $query_struct_default['where']['status'] = 5;
                 break;
             case 'cancel':
                 $query_struct_default['where']['status'] = 6;
                 break;
             default:
         }
     }
     //d($query_struct_default);
     /* 搜索功能 */
     $search_arr = array('id', 'order_num', 'username');
     $search_value = $this->input->get('search_value');
     $search_type = $this->input->get('search_type');
     $where_view = array();
     //$query_struct_default['where']['date_end >='] = tool::get_date();
     if (strlen($this->input->get('start_time')) > 0) {
         $query_struct_default['where']['date_add >='] = $this->input->get('start_time') . ' 00:00:00';
         $where_view['start_time'] = $this->input->get('start_time');
     }
     if (strlen($this->input->get('end_time')) > 0) {
         $query_struct_default['where']['date_add <='] = $this->input->get('end_time') . ' 00:00:00';
         $where_view['end_time'] = $this->input->get('end_time');
     }
     if ($search_arr) {
         foreach ($search_arr as $value) {
             if ($search_type == $value && strlen($search_value) > 0) {
                 if ($value == 'lastname') {
                     $userobj = user::get_instance();
                     $userinfo = $userobj->get_search($search_value);
                     $userid = $userinfo['id'];
                     $query_struct_default['where']['start_user_id'] = $userid;
                     $query_struct_default['where']['user_id'] = $userid;
                 } else {
                     $query_struct_default['like'][$value] = $search_value;
                 }
             }
         }
         $where_view['search_type'] = $search_type;
         $where_view['search_value'] = $search_value;
     }
     $request_data = $this->input->get();
     //初始化当前查询结构体
     $query_struct_current = array();
     //设置合并默认查询条件到当前查询结构体
     $query_struct_current = array_merge($query_struct_current, $query_struct_default);
     //列表排序
     $orderby_arr = array(0 => array('id' => 'DESC'), 1 => array('id' => 'ASC'));
     $orderby = controller_tool::orderby($orderby_arr);
     // 排序处理
     if (isset($request_data['orderby']) && is_numeric($request_data['orderby'])) {
         $query_struct_current['orderby'] = $orderby;
     }
     $query_struct_current['orderby'] = $orderby;
     //每页条目数
     controller_tool::request_per_page($query_struct_current, $request_data);
     //调用服务执行查询
     $return_data['count'] = $this->order_basic_obj->count($query_struct_current);
     //统计数量
     /* 调用分页 */
     $this->pagination = new Pagination(array('total_items' => $return_data['count'], 'items_per_page' => $query_struct_current['limit']['per_page']));
     $query_struct_current['limit']['page'] = $this->pagination->current_page;
     $return_data['list'] = $this->order_basic_obj->query_assoc($query_struct_current);
     //$return_data['ticket_type'] = Kohana::config('ticket_type');
     /* $planobj = plan::get_instance();
     
             $i = 0;
             foreach ($return_data['list'] as $rowlist)
             {
                 $planobj->get_result($return_data['list'][$i]);
                 if(empty($return_data['list'][$i]['detail'])) {
                     unset($return_data['list'][$i]);
                 }
                 $i++;
             }
             //d($return_data['list']);
     
             $return_data['status'] = $status;
             $return_data['time_expired'] = $time_expired;
     
             //d($return_data['list']);
     
             $return_data['site_config'] = Kohana::config('site_config.site');
             $host = $_SERVER['HTTP_HOST'];
             $dis_site_config = Kohana::config('distribution_site_config');
             if (array_key_exists($host, $dis_site_config) == true && isset($dis_site_config[$host])) {
             	$return_data['site_config']['site_title'] = $dis_site_config[$host]['site_name'];
             	$return_data['site_config']['keywords'] = $dis_site_config[$host]['keywords'];
             	$return_data['site_config']['description'] = $dis_site_config[$host]['description'];
             }
      */
     $this->template->content = new View("order/order_index", $return_data);
     $this->template->content->where = $where_view;
 }
Esempio n. 3
0
 public function update_bonus($ticket_id, $bonus, $num, $password, $manager_id = 0)
 {
     $obj = ORM::factory('ticket_num', $ticket_id);
     if ($obj->loaded) {
         $obj->status = 2;
         //更新为已兑奖
         $obj->bonus = $bonus;
         $obj->manager_id = $manager_id;
         $obj->num = $num;
         $obj->password = $password;
         $obj->time_duijiang = tool::get_date();
         $obj->time_lastaction = tool::get_date();
         $obj->save();
         if ($obj->saved) {
             return TRUE;
         } else {
             return FALSE;
         }
     } else {
         return FALSE;
     }
 }
Esempio n. 4
0
 public function expired_plan()
 {
     @set_time_limit(300);
     //防止过期处理错误
     //检索状态为方案提交及未出票状态的合买方案
     $query_struct = array();
     $query_struct['where']['plan_type'] = 1;
     $query_struct['where']['date_end <'] = tool::get_date();
     $query_struct['where']['status'] = 0;
     //array(0,1)
     $plan_basicobj = Plans_basicService::get_instance();
     $results = $plan_basicobj->query_assoc($query_struct);
     foreach ($results as $result) {
         $flag = FALSE;
         switch ($result['ticket_type']) {
             case 1:
                 $flag = Plans_jczqService::get_instance()->expired_plan($result['order_num']);
                 break;
             case 2:
                 $flag = Plans_sfcService::get_instance()->expired_plan($result['order_num']);
                 break;
             case 6:
                 $flag = Plans_jclqService::get_instance()->expired_plan($result['order_num']);
                 break;
             case 7:
                 $flag = Plans_bjdcService::get_instance()->expired_plan($result['order_num']);
                 break;
         }
         d($result['order_num'], FALSE);
         if ($flag) {
             $this->update_status_by_ordernum($result['order_num'], 1);
         } else {
             $this->get_result($result, FALSE);
             if (!empty($result['detail'])) {
                 $this->cancel_plan($result['order_num']);
             }
         }
     }
 }