where(['relation_game_name' => $params['game_name'],'sdk_version' => $params['sdk_version']])->getField('id'); $server_id = M('server', 'tab_')->where(['server_name' => $params['server_name'], 'game_id' => $game_id])->getField('server_num'); $map['server_id'] = $server_id; } if (isset($params['game_player_name'])) { $map['game_player_name'] = $params['game_player_name']; } if (isset($params['game_player_id'])) { $map['game_player_id'] = $params['game_player_id']; } $p = $params['p'] ? $params['p'] : 1; $row = $params['row'] ? $params['row'] : 10; $startDate = empty($params['timestart']) ? date('Y-m-d', strtotime('-6 day', time())) : $params['timestart']; $endDate = empty($params['timeend']) ? date('Y-m-d') : $params['timeend']; $startTime = strtotime($startDate); $endTime = strtotime($endDate) + 86399; $map['create_time'] = array('BETWEEN', [$startTime, $endTime]); setPowerPromoteIds($map,'promote_id'); if (isset($params['promote_id'])) { $promoteId = $params['promote_id']; if ($promoteId == 0) { $map['promote_id'] = 0; } else { $promoteMap['chain'] = ['like', "%/$promoteId/%"]; $promoteIds = M('Promote', 'tab_')->where($promoteMap)->getField('id', true); $promoteIds[] = $promoteId; $map['promote_id'] = ['in', $promoteIds]; } } // $data = M('pay_info', 'tab_')->field('tab_pay_info.id,tab_pay_info.user_account,extend,tab_pay_info.create_time,tab_pay_info.game_name,tab_pay_info.server_name,tab_pay_info.promote_account,tab_pay_info.order_id,tab_pay_info.game_player_id,tab_pay_info.game_player_name,price,tab_server.server_name')->join('LEFT JOIN tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id AND tab_pay_info.server_id <> 0')->where($map)->order('tab_pay_info.id DESC')->page($p, $row)->select(); $data = M('pay_info', 'tab_')->where($map)->order('id DESC')->page($p, $row)->select(); foreach($data as $k => $v) { if(empty($v['extend'])) { $data[$k]['extend'] = $v['order_id']; } if ($v['server_id'] > 0 && !empty($v['extend'])){ $data[$k]['server_name'] = M('server', 'tab_')->where(['game_id' => $v['game_id'],'server_num' =>$v['server_id']])->getField('server_name'); } else { $data[$k]['server_name'] = ''; $data[$k]['game_player_name'] = ''; $data[$k]['game_player_id'] = ''; } } $count = M('pay_info', 'tab_')->where($map)->count(); $page = set_pagination($count, $row); if ($page) { $this->assign('_page', $page); } $this->assign('startDate', $startDate); $this->assign('endDate', $endDate); $this->assign('data', $data); $this->assign("is_admin",is_administrator()); $this->display('index'); } }