{$time} or end_time = 0"; if(is_cache() &&S('mobile_gift_data') &&I('name')=='' ){ $data=S('mobile_gift_data'); }else{ $table = D('Giftbag') ->field("tab_giftbag.id,tab_giftbag.game_id,tab_giftbag.desribe,tab_giftbag.game_name,tab_giftbag.giftbag_name,g.icon,g.relation_game_name") ->join("left join tab_game g on g.id = tab_giftbag.game_id and g.game_status = 1 and g.display_site like '%" . DISPLAY_SITE . "%' ") ->where($map) ->order('tab_giftbag.create_time desc') ->select(false); $data = D('Giftbag')->table('('.$table.') as a' )->field('count(a.id) as num,a.desribe,a.game_name,a.giftbag_name,a.icon,a.relation_game_name,a.game_id')->group('a.game_id')->page($page,$row)->select(); foreach ($data as $key => $val){ $data[$key]['icon'] = get_cover($val['icon'],'path'); if(!is_mobile_request()){ $data[$key]['relation_game_name'] = $val['game_name']; } } if(is_cache()&&I('name')=='' ){ S('mobile_gift_data',$data); } } $this->assign('data',$data); $this->assign('page',$page); $this->assign('category',array('title'=>'礼包')); $this->display(); } public function gamegift(){ $game_id = I('get.id'); $page = intval($_REQUEST['p']); $page = $page ? $page : 1; //默认显示第一页数据 $row = C('LIST_ROWS'); $map['status'] = 1; $map['g.game_status'] = 1; $map['g.display_site'] = ['like','%'. DISPLAY_SITE .'%']; $time = NOW_TIME; $map['game_id'] = $game_id; //$map['start_time'] = ['elt',$time]; $map['_string'] = "end_time > {$time} or end_time = 0"; if(is_mobile_request()){ $map['giftbag_version'] = get_devices_type(); } $map['novice'] = array('neq',''); $data = D('Giftbag') ->field("tab_giftbag.*,g.icon,g.relation_game_name") ->join("left join tab_game g on g.id = tab_giftbag.game_id ") ->where($map) ->order('create_time desc') ->page($page,$row) ->select(); if (empty($data) || !is_array($data)) {$this->error('此礼包不存在!!');} foreach ($data as $key => $val){ $novice_arr = str2arr($val['novice'],','); $novice_num = count(array_filter($novice_arr)); $data[$key]['novice_num'] = $novice_num;$member = new SuserApi; $exist = D("Giftbag")->checkAccountGiftExist($member->login_info("user_id"),$val['id']); if(empty($exist)){ $exist = 1;//未领取 }else{ $data[$key]['get_novice'] = $exist['novice']; $exist = 0;//已领取 } if($novice_num == 0){ $exist = 2;//激活码已领取完 } $data[$key]['exist'] = $exist; $data[$key]['icon'] = get_cover($val['icon'],'path'); $data[$key]['novice_num'] = $novice_num; } $this->assign('data',$data); $this->assign('game_id',$game_id); $this->assign('page',$page); if(!is_mobile_request()){ $this->assign('mate_title',"《{$data[0]['game_name']}》礼包"); }else{ $this->assign('mate_title',"《{$data[0]['relation_game_name']}》礼包"); } $this->display(); } public function ajaxlists() { $p = I('post.p'); $devices = get_devices_type(); $status=0; $row = C('LIST_ROWS'); $map['status'] = 1; $map['g.sdk_version'] = array('like','%'.$devices.'%'); $time = NOW_TIME; $map['novice'] = array('neq',''); //$map['start_time'] = ['elt',$time]; $map['_string'] = "end_time > {$time} or end_time = 0"; $lists = D('Giftbag') ->field("count(tab_giftbag.id) as num,tab_giftbag.game_id,tab_giftbag.desribe,tab_giftbag.game_name,tab_giftbag.giftbag_name,g.icon,g.relation_game_name") ->join("left join tab_game g on g.id = tab_giftbag.game_id and g.game_status=1 and g.display_site like '%". DISPLAY_SITE ."%' ") ->where($map) ->page($p,$row) ->group("game_id") ->select(); foreach ($lists as $key => $val){ $lists[$key]['url'] = U('Gift/gamegift?id='.$val['game_id']); $lists[$key]['icon'] = get_cover($val['icon'],'path'); if(!is_mobile_request()){ $lists[$key]['relation_game_name'] = $val['game_name']; } } if (!empty($lists) && is_array($lists)) { $status = 1; } echo json_encode(array('status'=>$status,'page'=>$p,'lists'=>$lists)); } public function ajaxgift() { $p = I('post.p'); $game_id = I('post.id'); $status=0; $row = C('LIST_ROWS'); $map['status'] = 1; $time = NOW_TIME; $map['game_id'] = $game_id; $map['novice'] = array('neq',''); //$map['start_time'] = ['elt',$time]; $map['_string'] = "end_time > {$time} or end_time = 0"; $lists = D('Giftbag') ->field("tab_giftbag.*,g.icon,g.relation_game_name") ->join("left join tab_game g on g.id = tab_giftbag.game_id and g.game_status=1 and g.display_site like '%". DISPLAY_SITE ."%' ") ->where($map) ->page($p,$row) ->select(); foreach ($lists as $key => $val){ $novice_arr = str2arr($val['novice'],','); $novice_num = count(array_filter($novice_arr)); $lists[$key]['novice_num'] = $novice_num;$member = new SuserApi; $exist = D("Giftbag")->checkAccountGiftExist($member->login_info("user_id"),$val['id']); if(empty($exist)){ $exist = 1;//未领取 }else{ $exist = 0;//已领取 } if($novice_num == 0){ $exist = 2;//激活码已领取完 } $lists[$key]['exist'] = $exist; $lists[$key]['url'] = U('Gift/detail?id='.$val['id']); $lists[$key]['icon'] = get_cover($val['icon'],'path'); if(is_mobile_request()){ $lists[$key]['game_name'] = "《{$val['relation_game_name']}》".$val['giftbag_name']; }else{ $lists[$key]['game_name'] = "《{$val['game_name']}》".$val['giftbag_name']; } } if (!empty($lists) && is_array($lists)) { $status = 1; } echo json_encode(array('status'=>$status,'page'=>$p,'lists'=>$lists)); } public function detail($id) { $id = I('get.id'); $map['tab_giftbag.id'] = $id; $record = M('gift_record','tab_')->field('id')->where(['user_id'=>UID,'gift_id'=>$id])->find(); !empty($record) || $map['g.display_site'] = ['like','%'. DISPLAY_SITE .'%']; $data = D('Giftbag') ->field("tab_giftbag.*,g.icon,g.relation_game_name") ->join("left join tab_game g on g.id = tab_giftbag.game_id and g.game_status = 1 ") ->where($map) ->find(); if (empty($data) || !is_array($data)) {$this->error('此礼包不存在!!');} $novice_arr = str2arr($data['novice'],','); $novice_num = count(array_filter($novice_arr)); unset($data['novice']); $data['novice_num'] = $novice_num; $data['icon'] = get_cover($data['icon'],'path'); $data['end'] = $data['end_time']==0 ? '永久' : date('Y-m-d');$member = new SuserApi; $exist = D("Giftbag")->checkAccountGiftExist($member->login_info("user_id"),$id); if(empty($exist)){ $exist = 1;//未领取 }else{ $data['get_novice'] = $exist['novice']; $exist = 0;//已领取 } if($novice_num == 0){ $exist = 2;//激活码已领取完 } $this->assign('exist',$exist); if(is_mobile_request()){ $this->assign('mate_title',"《{$data['relation_game_name']}》{$data['giftbag_name']}"); }else{ $this->assign('mate_title',"《{$data['game_name']}》{$data['giftbag_name']}"); } $this->assign('data',$data); $this->display(); } /** * 领取激活码 * @param $token * @param $gift_id * author: xmy 280564871@qq.com */ public function get_novice($gift_id){ if(!$this->islogin()){$this->error('请先登录','Mobile/User/login');}$member = new SuserApi; $logininfo = $member->login_info(); $model = D("Giftbag"); $exist = $model->checkAccountGiftExist($logininfo['user_id'],$gift_id); if($exist){ $this->error("您已经领取过该礼包!"); } $novice = $model->getNovice($logininfo['user_id'],$logininfo['account'],$gift_id); if(empty($novice)){ $this->error("暂无激活码"); } $this->success("领取成功",$novice); } }