assign('group',$group); if(isset($_REQUEST['total_status'])){ unset($_REQUEST['total_status']); } $this->m_title = '推广结算'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Query/settlement','status'=>1])->find()); if ($group == 1) { if($_REQUEST['unum']==2){ $order='unum'; $order_type=SORT_ASC; }else if($_REQUEST['unum']==1){ $order='unum'; $order_type=SORT_DESC; } if($_REQUEST['spay_amount']==2){ $order='spay_amount'; $order_type=SORT_ASC; }else if($_REQUEST['spay_amount']==1){ $order='spay_amount'; $order_type=SORT_DESC; } $model = array( 'title' => '渠道结算', 'template_list' =>'settlement', 'order' => $order, 'order_type'=>$order_type//0倒序 1 正序 ); $start=$_REQUEST['timestart']; $end=$_REQUEST['timeend']; if(I('group')!=''){ if($start==''||$end==''&&$_REQUEST['promote_account']==''){ $this->error('结算周期、所属渠道不能为空!','',1); } if($start==''||$end==''){ $this->error('请选择结算周期!','',1); } if($_REQUEST['promote_account']==''){ $this->error('请选择渠道!','',1); } } $smap['tab_spend.pay_status']=1; //判断是否结算绑币 if($_REQUEST['bind_coin'] == 0){ $smap['tab_spend.pay_way'] = array('neq',-1); } $this->meta_title = '渠道结算列表'; $this->assign('setdate',date("Y-m-d",strtotime("-1 day"))); if($start && $end){ if((strtotime($end)+24*60*60-1)error('时间选择不正确!',U('Query/settlement'),''); } $umap['register_time']=array('BETWEEN',array(strtotime($start),strtotime($end)+24*60*60-1)); if(isset($_REQUEST['game_name']) && $_REQUEST['game_name']!=''){ $umap['fgame_id']=get_game_id($_REQUEST['game_name']); $smap['tab_spend.game_id']=get_game_id($_REQUEST['game_name']); } if(isset($_REQUEST['promote_account'])&&$_REQUEST['promote_account']!=''){ $allid=get_subordinate_promote_($_REQUEST['promote_account']); $allid[]=$_REQUEST['promote_account']; $umap['tab_user.promote_account']=array('in',$allid); $smap['tab_spend.promote_account']=array('in',$allid); }else{ $this->error('未选择渠道!','',1); } $umap['is_check']=1; $umap['settle_check']=0; $smap['pay_time']=array('BETWEEN',array(strtotime($start),strtotime($end)+24*60*60-1)); $smap['is_check']=1; $smap['settle_check']=0; $map['umap']=$umap; $map['smap']=$smap; $user = A('Settlement','Event'); $user->settlement($model,$p,$map); }else{ $this->display(); } } if ($group == 2) { if(isset($_REQUEST['stimestart'])&&isset($_REQUEST['stimeend'])){ $map['create_time']=array('BETWEEN',array(strtotime($_REQUEST['stimestart']),strtotime($_REQUEST['stimeend'])+24*60*60-1)); }elseif(isset($_REQUEST['stimestart'])){ $map['create_time']=array('BETWEEN',array(strtotime($_REQUEST['stimestart']),time())); }elseif(isset($_REQUEST['stimeend'])){ $map['create_time']=array('LT',(strtotime($_REQUEST['stimeend'])+24*60*60-1)); } if(isset($_REQUEST['timestart'])&&isset($_REQUEST['timeend'])){ $map['starttime']=['GT',strtotime($_REQUEST['timestart'])]; $map['endtime']=['LT',strtotime($_REQUEST['timeend'])+24*60*60]; }elseif(isset($_REQUEST['timestart'])) { $map['starttime']=['GT',strtotime($_REQUEST['timestart'])]; }elseif(isset($_REQUEST['timeend'])){ $map['endtime']=['LT',strtotime($_REQUEST['timeend'])+24*60*60]; } if(isset($_REQUEST['game_name'])){ if($_REQUEST['game_name']=='全部'){ unset($_REQUEST['game_name']); }else{ $map['game_name'] = $_REQUEST['game_name']; } } if(isset($_REQUEST['promote_account'])){ if($_REQUEST['promote_account']=='全部'){ unset($_REQUEST['promote_account']); }else{ $map['promote_account'] = $_REQUEST['promote_account']; } } if(!empty($_REQUEST['settlement_number'])){ $map['settlement_number'] = $_REQUEST['settlement_number']; } $map['developers'] = 0; $model = array( 'm_name' => 'settlement', 'fields' => array( 'settlement_number', 'starttime','endtime', 'promote_id','promote_account', 'sum(total_money) as total_money', 'sum(total_number) as total_number', 'sum(sum_money) as sum_money', 'bind_coin_status', 'create_time'), 'group' => 'promote_id,starttime,endtime,create_time,bind_coin_status', 'order' => 'create_time desc ', 'title' => '结算账单', 'template_list' =>'settlement', ); $map1=$map; $ztotal=null_to_0(D('settlement')->where($map1)->sum('sum_money*10000')/10000); $this->assign('ztotal',$ztotal); $ttotal=null_to_0(D('settlement')->where('create_time'.total(1))->sum('sum_money*10000')/10000); $this->assign('ttotal',$ttotal); $ytotal=null_to_0(D('settlement')->where('create_time'.total(5))->sum('sum_money*10000')/10000); $this->assign('ytotal',$ytotal); $user = A('Bill','Event'); $user->money_list($model,$p,$map); } } public function cpsettlement($p=0) { $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;} $this->assign('setdate',date("Y-m-d",strtotime("-1 day"))); if($_REQUEST['sum_money']==2){ $order='total desc'; }else if($_REQUEST['sum_money']==1){ $order='total asc'; } $group = I('group',1); $this->assign('group',$group); $this->m_title = '开发者结算'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Query/cpsettlement','status'=>1])->find()); if(isset($_REQUEST['timestart'])&&$_REQUEST['timestart']!=''&&$_REQUEST['group']==1){ $starttime = strtotime($_REQUEST['timestart']); $endtime = strtotime($_REQUEST['timeend'])+24*3600-1; if(isset($_REQUEST['developers_id'])){ $map['g.developers'] = $_REQUEST['developers_id']; }else{ $this->error('请选择开发者'); } if(isset($_REQUEST['selle_status'])){ if($_REQUEST['selle_status']=="未结算"){ $map['s.selle_status']=0; }else if($_REQUEST['selle_status']=="已结算"){ $map['s.selle_status']=1; } } else { $map['s.selle_status'] = 0; } //判断是否结算绑币 if($_REQUEST['bind_coin'] == 0){ $map['s.pay_way'] = array('neq',-1); } $map['s.pay_status']=1; $map['pay_time']=array('BETWEEN',array($starttime,$endtime)); $model = array( 'm_name' => 'Spend as s', 'order' => $order, 'title' => '渠道结算', 'group' => 'g.developers,g.id', 'fields' => 'sum(s.pay_amount) as total,s.selle_ratio,s.id,g.developers,s.selle_status,g.id as gid,g.game_name,s.pay_status,s.pay_amount', 'template_list' =>'cpsettlement', ); $user = A('Spend','Event'); $this->meta_title = '开发者结算'; $user->cpsettl_list($model,$p,$map); }else if($_REQUEST['group']==2){ if(isset($_REQUEST['timestart']) && $_REQUEST['timeend']!=''){ $starttime = strtotime($_REQUEST['timestart']); $endtime = strtotime($_REQUEST['timeend'])+24*3600-1; $map['starttime'] = array('egt',$starttime); $map['endtime'] = array('elt',$endtime); }elseif(isset($_REQUEST['timestart'])){ $starttime = strtotime($_REQUEST['timestart']); $map['starttime'] = array('egt',$starttime); }elseif(isset($_REQUEST['timeend'])){ $endtime = strtotime($_REQUEST['timeend'])+24*3600-1; $map['endtime'] = array('elt',$endtime); } if(isset($_REQUEST['start']) && $_REQUEST['end']!=''){ $starttime = strtotime($_REQUEST['start']); $endtime = strtotime($_REQUEST['end'])+24*3600-1; $map['create_time'] = array('BETWEEN',array($starttime,$endtime)); }elseif(isset($_REQUEST['start'])){ $starttime = strtotime($_REQUEST['start']); $map['create_time'] = array('BETWEEN',array($starttime,time())); }elseif(isset($_REQUEST['end'])){ $endtime = strtotime($_REQUEST['end'])+24*3600-1; $map['create_time'] = array('LT',$endtime); } if(isset($_REQUEST['developers_id'])){ $map['developers']=$_REQUEST['developers_id']; }else{ $map['developers'] = array('neq',0); } $data = M('TotalSettlement','tab_')->where($map)->order('create_time desc')->page($page,$row)->select(); $count = M('TotalSettlement','tab_')->where($map)->order('create_time desc')->count(); $page = set_pagination($count,$row); if($page) {$this->assign('_page', $page);} $this->assign('data',$data); $this->assign('meta_title','开发者结算记录'); $this->display(); }else{ $this->meta_title = '开发者结算列表'; $this->display(); } } public function generatesettlementAll(){ $request = I('request.ids'); if(empty($request)){ $this->error('请选择要操作的数据'); } if (is_array($request)) { foreach($request as $k => $v) { $query = explode(',',$v); $ids[] = $k; $_REQUEST[$k]['cooperation'] = $query[0]; $_REQUEST[$k]['cps_ratio'] = $query[1]; $_REQUEST[$k]['cpa_price'] = $query[2]; $_REQUEST[$k]['unum'] = $query[3]; $_REQUEST[$k]['spay_amount'] = $query[4]; $_REQUEST[$k]['game_id'] = $query[5]; } unset($_REQUEST['ids']); } elseif (is_numeric($request)) { $id = $ids[] = $request; $_REQUEST[$id]['ids']=$id; $_REQUEST[$id]['cooperation'] = $_REQUEST['cooperation']; $_REQUEST[$id]['cps_ratio'] = $_REQUEST['cps_ratio']; $_REQUEST[$id]['cpa_price'] = $_REQUEST['cpa_price']; $_REQUEST[$id]['unum'] = $_REQUEST['unum']; $_REQUEST[$id]['spay_amount'] = $_REQUEST['spay_amount']; } else { $this->error('参数有误!!!'); } sort(array_unique($ids)); if (is_array($ids)) { $promote_id = get_promote_id($_REQUEST['promote_account']); $create_time = time(); foreach ($ids as $k => $v) { if(get_settlement($_REQUEST['timestart'],$_REQUEST['timeend'],$promote_id,$_REQUEST[$v]['game_id'])){ continue; } $data[$k]['game_id'] = $_REQUEST[$v]['game_id']; $data[$k]['game_name'] = get_game_name($_REQUEST[$v]['game_id']); $data[$k]['promote_account'] = $_REQUEST['promote_account']; $data[$k]['promote_id'] = $promote_id; $data[$k]['total_money'] = $_REQUEST[$v]['spay_amount']; $data[$k]['total_number'] = $_REQUEST[$v]['unum']; $data[$k]['starttime'] = strtotime($_REQUEST['timestart']); $data[$k]['endtime'] = strtotime($_REQUEST['timeend'])+24*60*60-1; $data[$k]['pattern'] = $_REQUEST[$v]['cooperation']=='CPS'?0:1; $data[$k]['ratio'] = $_REQUEST[$v]['cps_ratio']; $data[$k]['money'] = $_REQUEST[$v]['cpa_price']; $data[$k]['create_time'] = $create_time; $data[$k]['bind_coin_status'] = $_REQUEST['bind_coin']; $data[$k]['settlement_number'] = 'JS-'.date('Ymd').date('His').sp_random_string(4); if(get_settlement($data[$k]['starttime'],$data[$k]['endtime'],$data[$k]['promote_id'],$data[$k]['game_id'])){ $this->error('该结算周期不可结算,请重新选择'); } if($data[$k]['pattern']){ $data[$k]['sum_money']=$data[$k]['total_number']*$data[$k]['money']; }else{ $data[$k]['sum_money']=$data[$k]['total_money']*$data[$k]['ratio']/100; } if($data[$k]['game_id']==''||$data[$k]['promote_id']==''||$data[$k]['starttime']==''||$data[$k]['endtime']==''){ $this->error('必要参数不存在'); } $map['fgame_id']=$data[$k]['game_id']; // $map['is_check']=1; $map['puid'] = 0; $map['register_time']=array('BETWEEN',array($data[$k]['starttime'],$data[$k]['endtime'])); $allid=get_subordinate_promote_($data[$k]['promote_account']); $allid[]=$data[$k]['promote_account']; $map['promote_account']=array('in',$allid); $u=M('User','tab_'); $user=$u->where($map)->setField('settle_check',1); unset($map['register_time']); unset($map['puid']); $map['pay_status'] = 1; $map['pay_time']=array('BETWEEN',array($data[$k]['starttime'],$data[$k]['endtime'])); $s=M('spend','tab_'); $spend=$s->where($map)->setField('settle_check',1); } } $data = array_values($data); $result=M('settlement','tab_')->addAll($data); if($result){ $settMap['promote_id'] = $promote_id; $settMap['starttime'] = strtotime($_REQUEST['timestart']); $settMap['endtime'] = strtotime($_REQUEST['timeend'])+24*60*60-1; $settMap['create_time'] = $data[0]['create_time']; $settMap['bind_coin_status'] = $_REQUEST['bind_coin']; $dataSett = M('settlement','tab_')->field(array( 'settlement_number', 'starttime','endtime', 'promote_id','promote_account', 'sum(total_money) as total_money', 'sum(total_number) as total_number', 'sum(sum_money) as sum_money', 'status', 'ti_status', 'bind_coin_status', 'create_time'))->where($settMap) ->group('promote_id,starttime,endtime,create_time,bind_coin_status') ->order('create_time desc') ->select(); M('TotalSettlement','tab_')->addAll($dataSett); $this->success('结算成功',U('Query/settlement',array('group'=>2))); }else{ /*if (is_array($ids)) { $promote_id = get_promote_id($_REQUEST['promote_account']); foreach ($ids as $k => $v) { if(get_settlement($_REQUEST['timestart'],$_REQUEST['timeend'],$promote_id,$_REQUEST[$v]['game_id'])){ continue; } $errorStartTime = strtotime($_REQUEST['timestart']); $errorEndTime = strtotime($_REQUEST['timeend'])+24*60*60-1; $game_id = $_REQUEST[$v]['game_id']; $map['fgame_id']=$game_id; $map['register_time']=array('BETWEEN',array($errorStartTime,$errorEndTime)); $map['promote_id']=array('in',$promote_id); $u=M('User','tab_'); $user=$u->where($map)->setField('settle_check',0); unset($map['register_time']); $map['pay_time']=array('BETWEEN',array($errorStartTime,$errorEndTime)); $s=M('spend','tab_'); $spend=$s->where($map)->setField('settle_check',0); } }*/ $this->error('结算失败'); } } public function generatesettlement(){ //批量结算要加判断 $data['game_id']=$_REQUEST['game_id']; $data['game_name']=get_game_name($_REQUEST['game_id']); $data['promote_id']=$_REQUEST['promote_id']; $data['promote_account']=get_promote_name($_REQUEST['promote_id']); $data['total_money']=$_REQUEST['spay_amount']; $data['total_number']=$_REQUEST['unum']; $data['starttime']=strtotime($_REQUEST['starttime']); $data['endtime']=strtotime($_REQUEST['endtime'])+24*60*60-1; $data['pattern']=$_REQUEST['cooperation']=='CPS'?0:1; $data['ratio']=$_REQUEST['cps_ratio']; $data['money']=$_REQUEST['cpa_price']; $data['create_time']=time(); $data['settlement_number']='JS-'.date('Ymd').date('His').sp_random_string(4); if(get_settlement($data['starttime'],$data['promote_id'],$data['game_id'])){ $this->error('该结算周期不可结算,请重新选择'); } if($data['pattern']){ $data['sum_money']=$data['total_number']*$data['money']; }else{ $data['sum_money']=$data['total_money']*$data['ratio']/100; } if($data['game_id']==''||$data['promote_id']==''||$data['starttime']==''||$data['endtime']==''){ $this->error('必要参数不存在'); } $map['fgame_id']=$data['game_id']; // $map['is_check']=1; $map['register_time']=array('BETWEEN',array($data['starttime'],$data['endtime'])); $allid=get_subordinate_promote_($data['promote_account']); $allid[]=$data['promote_account']; $map['promote_id']=array('in',$data['promote_id']); $u=M('User','tab_'); $user=$u->where($map)->setField('settle_check',1); unset($map['register_time']); $map['pay_time']=array('BETWEEN',array($data['starttime'],$data['endtime'])); $s=M('spend','tab_'); $spend=$s->where($map)->setField('settle_check',1); $result=M('settlement','tab_')->add($data); if($result){ $this->success('结算成功'); }else{ $this->error('结算失败'); } } public function generatecpsettlement() {//cp结算 $request = I('request.ids'); if(empty($request)){ $this->error('请选择要操作的数据'); } $starttime = strtotime($_REQUEST['timestart']); $endtime = strtotime($_REQUEST['endtime'])+24*3600-1; $map['s.pay_status'] = 1; $map['s.selle_status'] = 0; foreach ($request as $key => $value) { $query = explode(',',$value); $ids[] = $query[0]; $requestData[$key]['game_id'] = $query[0]; $requestData[$key]['selle_ratio'] = $query[1]; $requestData[$key]['total'] = $query[2]; } $map['s.game_id']=array('in',$ids); $map['pay_time']=array('BETWEEN',array($starttime,$endtime)); $spe = M('spend as s','tab_'); $smap = array('s.selle_time'=>date('Y-m-d',time()),'s.selle_status'=>1); $data = $spe ->field('s.id,s.selle_status,s.selle_time') ->join('tab_game as g on g.id=s.game_id','LEFT') ->where($map) ->setField($smap); if($data){ $create_time = time(); foreach ($requestData as $key => $value) { $datas[$key]['game_id'] = $value['game_id']; $datas[$key]['game_name'] = get_game_name($value['game_id']); $datas[$key]['promote_id'] = '0'; $datas[$key]['promote_account'] = '0'; $datas[$key]['total_money'] = $value['total']; $datas[$key]['total_number'] = 0; $datas[$key]['starttime'] = $starttime; $datas[$key]['endtime'] = $endtime; $datas[$key]['pattern'] = 0;//$_REQUEST['cooperation']=='CPS'?0:1; $datas[$key]['ratio'] = $value['selle_ratio']; $datas[$key]['sum_money'] = $value['selle_ratio']*$value['total']/100; $datas[$key]['money'] = 0; $datas[$key]['developers'] = $_REQUEST['developers_id']; $datas[$key]['create_time'] = $create_time; $datas[$key]['settlement_number'] = 'JS-'.date('Ymd').date('His').sp_random_string(4); $datas[$key]['bind_coin_status'] = $_REQUEST['bind_coin']; } $datas = array_values($datas); $result=M('settlement','tab_')->addAll($datas); $settMap['developers'] = $_REQUEST['developers_id']; $settMap['starttime'] = $starttime; $settMap['endtime'] = $endtime; $settMap['create_time'] = $create_time; $dataSett = M('settlement','tab_')->field(array( 'settlement_number', 'starttime','endtime', 'promote_id','promote_account', 'sum(total_money) as total_money', 'sum(total_number) as total_number', 'sum(sum_money) as sum_money', 'status', 'ti_status', 'bind_coin_status', 'developers', 'create_time',))->where($settMap) ->group('developers,starttime,endtime,create_time,bind_coin_status') ->order('create_time desc') ->select(); M('TotalSettlement','tab_')->addAll($dataSett); \Think\Log::actionLog('Query/generatecpsettlement','Query',1); $this->success('结算成功',U('Query/cpsettlement',array('group'=>2))); }else{ $this->error('结算失败'); } $map1 = array('status'=>1,'selle_status'=>1); $total = null_to_0(D('spend')->where($map1)->sum('pay_amount')); $ttotal = null_to_0(D('spend')->where('pay_time'.total(1))->where($map1)->sum('pay_amount')); $ytotal = null_to_0(D('spend')->where('pay_time'.total(5))->where($map1)->sum('pay_amount')); $this->assign('total',$total); $this->assign('ttotal',$ttotal); $this->assign('ytotal',$ytotal); } public function changeratio(){ $gid = I('request.game_id'); if(empty($gid)){ $this->ajaxReturn(0,"请选择要操作的数据",0);exit; } $starttime=strtotime($_REQUEST['timestart'].'-01'); $endtime=strtotime($_REQUEST['timestart']."+1 month -1 day")+24*3600-1; $map['s.pay_status']=1; $map['s.selle_status']=0; $map['s.game_id']=$_REQUEST['game_id']; $map['pay_time']=array('BETWEEN',array($starttime,$endtime)); $spe=M('spend as s','tab_'); $data=$spe ->field('s.id,s.selle_status,s.selle_ratio') ->join('tab_game as g on g.id=s.game_id','LEFT') ->where($map) ->setField('s.selle_ratio',$_POST['ratio']); if($data === false){ $this->ajaxReturn(array('status'=>0)); }else{ $this->ajaxReturn(['status'=>1,'data'=>$data]); } } public function cp_withdraw($p=0){ if(isset($_REQUEST['settlement_number'])){ $map['settlement_number']=array('like','%'.$_REQUEST['settlement_number'].'%'); } if(isset($_REQUEST['status'])){ $map['status']=$_REQUEST['status']; } if(isset($_REQUEST['developers'])){ if($_REQUEST['developers']=='全部'){ unset($_REQUEST['developers']); }else{ $map['developers'] = $_REQUEST['developers']; } }else{ $map['developers'] = array('neq',0); } if(isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])){ $starttime = strtotime($_REQUEST['timestart']); $endtime = strtotime($_REQUEST['timeend'])+24*3600-1; $map['audit_time'] = array('BETWEEN',array($starttime,$endtime)); unset($_REQUEST['timestart']);unset($_REQUEST['timeend']); }elseif(isset($_REQUEST['timestart'])){ $map['audit_time'] = ['GT',strtotime(I('timestart'))]; unset($_REQUEST['timestart']); }elseif(isset($_REQUEST['timeend'])){ $map['audit_time'] = ['LT',strtotime(I('timeend'))+86399]; unset($_REQUEST['timeend']); } if($_REQUEST['create_time']==2){ $order='create_time desc'; }elseif($_REQUEST['create_time']==1){ $order='create_time asc'; }else{ $order='create_time desc'; } if($_REQUEST['sum_money']==2){ $order='sum_money desc'; }elseif($_REQUEST['sum_money']==1){ $order='sum_money asc'; } $model = array( 'm_name' => 'withdraw', 'order' => $order, 'title' => '渠道提现', 'template_list' =>'cp_withdraw', ); $map1 = $map; $map1['status']=1; if(isset($_REQUEST['status'])&&$_REQUEST['status']==0){ $total = '0.00';$ttotal='0.00';$ytotal='0.00'; }else{ $total = null_to_0(D('withdraw')->where($map1)->sum('sum_money')); $ttotal = null_to_0(D('withdraw')->where('audit_time'.total(1))->where($map1)->sum('sum_money')); $ytotal = null_to_0(D('withdraw')->where('audit_time'.total(5))->where($map1)->sum('sum_money')); } $this->assign('stotal',$total); $this->assign('ttotal',$ttotal); $this->assign('ytotal',$ytotal); $user = A('Bill','Event'); $this->m_title = '开发者提现'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Query/cp_withdraw','status'=>1])->find()); $user->money_list($model,$p,$map); } public function withdraw() { $adminid = C('USER_ADMINISTRATOR');//获取超管id $adminmobile = M('UcenterMember')->field('mobile')->find($adminid); $this->assign('adminmobile',$adminmobile['mobile']); if(isset($_REQUEST['settlement_number'])){ $map['settlement_number']=$_REQUEST['settlement_number']; } if(isset($_REQUEST['ti_status'])){ $map['status']=$_REQUEST['ti_status']; } if(isset($_REQUEST['promote_account'])){ if($_REQUEST['promote_account']=='全部'){ unset($_REQUEST['promote_account']); }else{ $map['promote_account'] = $_REQUEST['promote_account']; } }else{ $map['promote_id'] = array('gt',0); } if($_REQUEST['create_time']==2){ $order='create_time desc'; }elseif($_REQUEST['create_time']==1){ $order='create_time asc'; }else{ $order='create_time desc'; } if($_REQUEST['sum_money']==2){ $order='sum_money desc'; }elseif($_REQUEST['sum_money']==1){ $order='sum_money asc'; } $model = array( 'm_name' => 'withdraw', 'order' => $order, 'title' => '渠道提现', 'template_list' =>'withdraw', ); $map1=array('status'=>1); $total=null_to_0(D('withdraw')->where($map1)->sum('sum_money')); $ttotal=null_to_0(D('withdraw')->where('end_time'.total(1))->where($map1)->sum('sum_money')); $ytotal=null_to_0(D('withdraw')->where('end_time'.total(5))->where($map1)->sum('sum_money')); $this->assign('total',$total); $this->assign('ttotal',$ttotal); $this->assign('ytotal',$ytotal); $user = A('Bill','Event'); $this->m_title = '推广提现'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Query/withdraw','status'=>1])->find()); $user->money_list($model,$p,$map); } public function set_withdraw_status($model='withdraw') { $withdraw = M('withdraw',"tab_"); $settlement = M('settlement',"tab_"); $count = count($_REQUEST['ids']); if($count > 1 || is_array($_REQUEST['ids'])){ for ($i=0; $i <$count; $i++) { $map['id']=$_REQUEST['ids'][$i]; $dataWithdraw = $withdraw->where($map)->find(); $withdraw->where($map)->save(array("audit_time"=>time())); //修改 total_settlement表和settlement的ti_status状态 $this->set_total_settlement_ti_status($dataWithdraw['settlement_number']); } }else{ $map['id']=$_REQUEST['ids']; $dataWithdraw = $withdraw->where($map)->find(); $withdraw->where($map)->save(array("audit_time"=>time())); //修改 total_settlement表和settlement的ti_status状态 $this->set_total_settlement_ti_status($dataWithdraw['settlement_number']); } parent::set_status($model); } private function set_total_settlement_ti_status($settlement_number){ $totalSettlementMap['settlement_number'] = $settlement_number; $totalSettlement = M('TotalSettlement','tab_'); $totalSettlement->where($totalSettlementMap)->save(array("ti_status"=>$_REQUEST['status'])); $dataTotalSettlement = $totalSettlement->where($totalSettlementMap)->find(); $settMap['promote_id'] = $dataTotalSettlement['promote_id']; $settMap['starttime'] = $dataTotalSettlement['starttime']; $settMap['endtime'] = $dataTotalSettlement['endtime']; $settMap['create_time'] = $dataTotalSettlement['create_time']; M("settlement","tab_")->where($settMap)->save(array('ti_status'=>$_REQUEST['status'])); } protected function upPromote($promote_id){ $model = D('Promote'); $data['id'] = $promote_id; $data['money'] = 0; return $model->save($data); } public function details($promote_id=0,$create_time=0){ $map['promote_id'] = $promote_id; $map['create_time'] = $create_time; $data = M('settlement','tab_')->where($map)->select(); $total = M('settlement','tab_')->where($map)->sum('sum_money'); $this->assign('total',$total); $this->assign('list_data',$data); $this->display(); } public function detailscps($developers_id=0,$create_time=0,$p=0){ $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 $row = !empty(C('ADMIN_LIST_ROW'))?C('ADMIN_LIST_ROW'):10; $map['developers_id'] = $developers_id; $map['create_time'] = $create_time; $data = M('settlement','tab_')->where($map)->page($page,$row)->select(); $count = M('settlement','tab_')->where($map)->count(); if($count > $row){ $page = new \Think\Page($count, $row); $page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $this->assign('_page', $page->show()); } $total = M('settlement','tab_')->where($map)->sum('sum_money'); $this->assign('total',$total); $this->assign('list_data',$data); $this->display(); } public function withdrawDetails($settlement_number=''){ $map['settlement_number'] = $settlement_number; $data = M('TotalSettlement','tab_')->where($map)->find(); $settMap['promote_id'] = $data['promote_id']; $settMap['starttime'] = $data['starttime']; $settMap['endtime'] = $data['endtime']; $settMap['create_time'] = $data['create_time']; $dataSett = M('settlement','tab_')->where($settMap)->select(); $total = M('settlement','tab_')->where($settMap)->sum('sum_money'); $this->assign('list_data',$dataSett); $this->assign('total',$total); $this->display(); } /** * 审核推广提现 * @author */ public function set_withdraw_agree(){ //行为日志判断 if(I('status')==1&&I('msg_type')==5&&I('field')=='status'){ //同意推广提现 action_log('tg_tx_agree','withdraw',UID,UID); } if(I('status')==2&&I('msg_type')==6&&I('field')=='status'){ //拒绝推广提现 action_log('tg_tx_disagree','withdraw',UID,UID); } //判断打款类型 if(I('withdraw_type',0,'intval')==1){ //手动打款,直接就改状态 $this->set_withdraw_status(); }else{ $adminid = C('USER_ADMINISTRATOR');//获取超管id $adminmobile = M('UcenterMember')->field('mobile')->find($adminid); $dx = A('Phone'); $res = -1; $res = $dx->check_tel_code($adminmobile['mobile'],$_POST['code']); switch ($res) { case '-1': $this->error('短信验证码无效,请重新获取'); break; case '-2': $this->error('时间超时,请重新获取短信验证码'); break; case '-3': $this->error('短信验证码不正确,请重新输入'); break; } $withdraw=M('withdraw',"tab_"); $pay = new \Think\Pay('alipay', C('alipay')); $withdraw_way = $_POST['withdraw_way']; //支付宝 if($withdraw_way==1){ $map['id']=$_POST['ids']; $dind=$withdraw->where($map)->find(); if($dind['status']==1){ $this->ajaxReturn(['status'=>-1,'info'=>'请不要重复打款']); } $widthdrawNo = "TX_" . date('Ymd') . date('His') . sp_random_string(4); $vo = new \Think\Pay\PayVo(); $vo->setOrderNo($dind['settlement_number']) ->setBatchNo($widthdrawNo) ->setTable('Withdraw') ->setPayMethod("transfer") ->setDetailData('渠道结算提现,订单'.$dind["settlement_number"]); $res = $pay->buildRequestForm($vo); if($res==10000){ $this->ajaxReturn(['status'=>1,'info'=>'打款成功']); }else{ $this->ajaxReturn(['status'=>0,'info'=>'打款失败']); } } } } }