nowTime = NOW_TIMESTAMP;
}
/**
* 我的交易记录列表
* @return [type] [description]
*/
public function index()
{
//判断当前账号是否有此功能
if(!in_array($this->_channelLevel,[1,2])){
$this->jsonResult('', 0, '您无权限使用该功能');
}
$list_rows = $this->input('list_rows',10);
$page = $this->input('page',1);
$type = $this->input('type','0','intval'); //1转账(收入),2转账(支出),3充值(收入),4充值(支出),5(直充),6结算充值(收入)
$account = $this->input('account','','trim'); //收入账号
$apply_begin_time = $this->input('apply_begin_time','','trim');
$apply_end_time = $this->input('apply_end_time','','trim');
$finish_begin_time = $this->input('finish_begin_time','','trim');
$finish_end_time = $this->input('finish_end_time','','trim');
$download = $this->input('download',0,'intval');
if(!in_array($type,[1,2,3,4,5,6])){
$this->jsonResult('', 0, '请选择交易类型');
}
$condition = [];
if(in_array($type,[1,2])){
$condition['t.status'] = 1;
if($account){
$condition['t.det_username'] = $account;
}
if($type==1){
$condition['t.det_userid'] = $this->_channelId;
if($this->_channelLevel==1){ //公会
$condition['t.transfer_type'] = 0;
}
else{ //子会长
$condition['t.transfer_type'] = 1;
}
}
else if($type==2){
$condition['t.src_channel_id'] = $this->_channelId;
if($this->_channelLevel==1){
$condition['t.transfer_type'] = array('in',[1,2]);
}
else{
$condition['t.transfer_type'] = 3;
}
}
//申请开始时间和结束时间不为空时
if ($apply_begin_time != '' && $apply_end_time != '') {
$condition['t.create_time'] = [
['>=', strtotime($apply_begin_time)],
['<=', strtotime($apply_end_time . ' 23:59:59')],
];
} //开始时间不为空时
elseif ($apply_begin_time != '') {
$condition['t.create_time'] = ['>=', strtotime($apply_begin_time)];
} //结束时间不为空时
elseif ($apply_end_time != '') {
$condition['t.create_time'] = ['<=', strtotime($apply_end_time . ' 23:59:59')];
}
//到账开始时间和结束时间不为空时
if ($finish_begin_time != '' && $finish_end_time != '') {
$condition['t.create_time'] = [
['>=', strtotime($finish_begin_time)],
['<=', strtotime($finish_end_time . ' 23:59:59')],
];
} //开始时间不为空时
elseif ($finish_begin_time != '') {
$condition['t.create_time'] = ['>=', strtotime($finish_begin_time)];
} //结束时间不为空时
elseif ($finish_end_time != '') {
$condition['t.create_time'] = ['<=', strtotime($finish_end_time . ' 23:59:59')];
}
if($download){
$sql = model('CoinTransfer')->alias('t')
->join('cy_game g', 't.game_id = g.id','left')
->join('nw_channel channel', 't.cuser_id = channel.id','left')
->field("t.id,t.orderid,t.det_username,t.src_channel_name,t.amount,t.amount as real_amount,t.status,t.create_time,t.status as finish_status,t.create_time as finish_time,t.remark,g.name as game_name,t.cuser_id,channel.name as cuser_name")
->order("t.id desc")
->where($condition)
->whereRaw('src_channel_id='.$this->_channelId.' or det_userid='.$this->_channelId.' and transfer_kind=2')
->fetchSql(true)
->select();
// echo $sql;
if ((new MakeReport())->addTask('guild.ChannelTradeIndex', $sql, 'cps'.session('guild_info')['id'])){
$this->jsonResult('', 20000, '报表生成的任务已经提交, 报表生成完成后,会及时通知您,请耐心稍等');
}
else{
$this->jsonResult('', 20013, '报表生成任务不可重复提交,如遇到无法导出情况,建议修改查询条件解除当前状态,提交重新生成报表任务!');
}
}
$tradeList = model('CoinTransfer')->alias('t')
->join('cy_game g', 't.game_id = g.id','left')
->join('nw_channel channel', 't.cuser_id = channel.id','left')
->field("t.id,t.orderid,t.det_username,t.src_channel_name,t.amount,t.amount as real_amount,t.status,t.create_time,t.status as finish_status,t.create_time as finish_time,t.remark,g.name as game_name,t.cuser_id,channel.name as cuser_name")
->order("t.id desc")
->where($condition)
->whereRaw('src_channel_id='.$this->_channelId.' or det_userid='.$this->_channelId.' and transfer_kind=2')
->paginate(['list_rows'=>$list_rows,'page'=>$page])
->toArray();
// echo model('CoinTransfer')->getLastSql()."-----lastsql------
";
}
else{
$condition['status'] = 1;
if($account){
$condition['channel_name'] = $account;
}
if($type==3){
$condition['channel_id'] = $this->_channelId;
$condition['recharge_type'] = 1;
}
else if($type==4){
$condition['send_channel_id'] = $this->_channelId;
$condition['recharge_type'] = 1;
}
else if($type==5){
$condition['channel_id'] = $this->_channelId;
$condition['recharge_type'] = 2;
}
else if($type==6){
$condition['channel_id'] = $this->_channelId;
$condition['recharge_type'] = 3;
}
//申请开始时间和结束时间不为空时
if ($apply_begin_time != '' && $apply_end_time != '') {
$condition['create_time'] = [
['>=', strtotime($apply_begin_time)],
['<=', strtotime($apply_end_time . ' 23:59:59')],
];
} //开始时间不为空时
elseif ($apply_begin_time != '') {
$condition['create_time'] = ['>=', strtotime($apply_begin_time)];
} //结束时间不为空时
elseif ($apply_end_time != '') {
$condition['create_time'] = ['<=', strtotime($apply_end_time . ' 23:59:59')];
}
//到账开始时间和结束时间不为空时
if ($finish_begin_time != '' && $finish_end_time != '') {
$condition['finish_time'] = [
['>=', strtotime($finish_begin_time)],
['<=', strtotime($finish_end_time . ' 23:59:59')],
];
} //开始时间不为空时
elseif ($finish_begin_time != '') {
$condition['finish_time'] = ['>=', strtotime($finish_begin_time)];
} //结束时间不为空时
elseif ($finish_end_time != '') {
$condition['finish_time'] = ['<=', strtotime($finish_end_time . ' 23:59:59')];
}
if($download){
$sql = model('ChannelRecharge')
->where($condition)
->whereRaw('channel_id='.$this->_channelId.' or send_channel_id='.$this->_channelId)
->field("id,orderid,channel_name as det_username,send_channel_name as src_channel_name,amount,real_amount,status,create_time,finish_status,finish_time,paytype,remark,'' as game_name,'' as cuser_id,'' as cuser_name")
->order("id desc")
->fetchSql(true)
->select();
// echo $sql;
if ((new MakeReport())->addTask('guild.ChannelTradeIndex', $sql, 'cps'.session('guild_info')['id'])){
$this->jsonResult('', 20000, '报表生成的任务已经提交, 报表生成完成后,会及时通知您,请耐心稍等');
}
else{
$this->jsonResult('', 20013, '报表生成任务不可重复提交,如遇到无法导出情况,建议修改查询条件解除当前状态,提交重新生成报表任务!');
}
}
$tradeList = model('ChannelRecharge')
->where($condition)
->whereRaw('channel_id='.$this->_channelId.' or send_channel_id='.$this->_channelId)
->field("id,orderid,channel_name as det_username,send_channel_name as src_channel_name,amount,real_amount,status,create_time,finish_status,finish_time,paytype,remark,'' as game_name,'' as cuser_id,'' as cuser_name")
->order("id desc")
->paginate(['list_rows'=>$list_rows,'page'=>$page])
->toArray();
}
// var_dump($condition);
// echo model('ChannelRecharge')->getLastSql()."-----lastsql------
";
$this->jsonResult($tradeList, 20000, '获取列表成功');
}
}