where($map)->sum('money'); //结算单总额 $data['balmoney'] = db('pay_balance')->where($map)->sum('balmoney'); //未提现 $map['status'] = 0; $data['wmoney'] = db('pay_balance')->where($map)->sum('balmoney'); //已提现 $map['status'] = 1; $data['ymoney'] = db('pay_balance')->where($map)->sum('balmoney'); //提现中 $map['status'] = 2; $data['zmoney'] = db('pay_balance')->where($map)->sum('balmoney'); //申请提现总额 $data['allcsah'] = db('cashlog')->where($map)->sum('money'); //申请提现 已打款 $map['status'] = 1; $data['ycsah'] = db('cashlog')->where($map)->sum('money'); //申请提现 待打款 $map['status'] = 0; $data['wcsah'] = db('cashlog')->where($map)->sum('money'); //结算记录 if(session('user_auth.group')==3){ $paymap['uid'] = session('user_auth.uid'); } $paymap['status'] = $status?$status:0; $list = db('pay_balance')->where($paymap)->order('create_time DESC')->paginate(config('list_rows')); $data['list'] = $list; $data['page'] = $list->render(); $data['status'] = $status; $this->assign($data); $this->setMeta('我的结算单'); return $this->fetch(); } /** * agent [代理结算单] * * @return type **/ public function agent() { $status = input('status'); $startdata = input('startdata')?strtotime(input('startdata')):mktime(0,0,0,date('m'),1,date('Y')); $enddata = input('enddata')?strtotime(input('enddata')):mktime(0,0,0,date('m'),date('t'),date('Y')); $keyword = input('keyword'); if($keyword){ $member = db('member')->where("username ='".$keyword."'")->find(); if(empty($member)) $this ->error("代理不存在!"); $map['uid'] = $member['uid']; $agentmap['agentid'] = array('in',$this->agentUser($member['uid'])); } $map['create_time']=array(array('gt',$startdata),array('lt',$enddata)); //总充值 $data['pay'] = db('pay_balance')->where($map)->sum('money'); //充值总笔数 $agentmap['status'] = 1; $data['paynum'] = db('order')->where($agentmap)->count(); //结算单总额 $data['balmoney'] = db('pay_balance')->where($map)->sum('balmoney'); //未提现 $map['status'] = 0; $data['wmoney'] = db('pay_balance')->where($map)->sum('balmoney'); //已提现 $map['status'] = 1; $data['ymoney'] = db('pay_balance')->where($map)->sum('balmoney'); //提现中 $map['status'] = 2; $data['zmoney'] = db('pay_balance')->where($map)->sum('balmoney'); //结算记录 $map['status'] = $status?$status:0; $list = db('pay_balance')->where($map)->order('create_time DESC')->paginate(config('list_rows')); $data['startdata'] =$startdata; $data['enddata'] =$enddata; $data['status'] =$status; $data['keyword'] =$keyword; $data['list'] =$list; $data['page'] =$list->render(); $this->assign($data); $this->setMeta('代理结算单'); return $this->fetch(); } /** * applycash [申请提现] * * @return type **/ public function applycash() { $form_data = input('post.form_data'); parse_str($form_data, $param_arr); $data['uid'] = $param_arr["uid"]; $data['create_time'] = time(); $data['money'] = $param_arr["money"]; $result = db('cashlog')->insert($data); if($result){ //更新结算记录 状态值 $this ->balancestatus($param_arr["uid"],0,2); /** $info = db('pay_balance')->where('status=0 and uid = '.$param_arr["uid"])->column('status','id'); foreach($info as $k=>$v){ db('pay_balance')->where('id',$k)->setField('status','2'); } **/ echo 1; } } /** * cashstatus [确认打款] * * @return type **/ public function cashstatus() { $id = input('id'); $info = db('cashlog')->where('id',$id)->find(); $this ->balancestatus($info["uid"],2,1); $result = db('cashlog')->where('id',$id)->update(array('status'=>1,'update_time'=>time())); if (false !== $result) { //更新结算记录 状态值 $this ->balancestatus($info["uid"],2,1); return $this->success("操作成功!"); } else { return $this->error("操作失败!!"); } } /** * cashdetail [账单详情] * * @return type **/ public function cashdetail() { $id = input('id'); $info = db('pay_balance')->where('id='.$id)->find(); $memberinfo = db('member_extend')->where('uid='.$info['uid'])->find(); $this->assign('id',$id); $this->assign('info',$info); $this->assign('member',$memberinfo); $this->setMeta('账单详情'); return $this->fetch(); } /** * orderlog [订单明细] * * @return type **/ public function orderlog() { var_dump(mktime(0,0,0,7,20,2017)); $id = input('id'); $info = db('pay_balance')->where('id='.$id)->find(); $startdata = mktime(0,0,0,date('m',$info['create_time']),date('d',$info['create_time']),date('Y',$info['create_time'])); $enddata = mktime(23,59,59,date('m',$info['create_time']),date('d',$info['create_time']),date('Y',$info['create_time'])); $map['create_time']=array(array('gt',$startdata),array('lt',$enddata)); $map['status'] = 1; $map['agentid'] = array('in',$this->agentUser($info['uid'])); $list = db('order')->where($map)->paginate(config('list_rows')); $data['list'] = $list; $data['page'] = $list->render(); $this->assign($data); $this->assign('id',$id); $this->setMeta('订单明细'); return $this->fetch(); } /** * cashlog [提现记录] * * @return type **/ public function cashlog() { $startdata = input('startdata')?strtotime(input('startdata')):mktime(0,0,0,date('m'),1,date('Y')); $enddata = input('enddata')?strtotime(input('enddata')):mktime(0,0,0,date('m'),date('t'),date('Y')); $map['create_time'] = array(array('gt',$startdata),array('lt',$enddata)); if(session('user_auth.group')==3){ $map['uid'] = session('user_auth.uid'); } $list = db('cashlog')->where($map)->order('create_time DESC')->paginate(config('list_rows')); $data = array( 'startdata' =>$startdata, 'enddata' =>$enddata, 'list' => $list, 'page' => $list->render(), ); $this->assign($data); $this->setMeta('提现记录'); return $this->fetch(); } /** * remitlog [代理打款] * * @return type **/ public function remitlog() { $startdata = input('startdata')?strtotime(input('startdata')):mktime(0,0,0,date('m'),1,date('Y')); $enddata = input('enddata')?strtotime(input('enddata')):mktime(0,0,0,date('m'),date('t'),date('Y')); $map['c.create_time'] = array(array('gt',$startdata),array('lt',$enddata)); $list = db('cashlog')->alias('c')->join('cms_member_extend e','e.uid = c.uid')->where($map)->field('c.*,e.payment_type,e.card_holder_name,e.alipay_account_name,e.weixin_nickname')->paginate(config('list_rows')); //$list = db('cashlog')->where($map)->order('create_time DESC')->paginate(config('list_rows')); $data = array( 'startdata' =>$startdata, 'enddata' =>$enddata, 'list' => $list, 'page' => $list->render(), ); $this->assign($data); $this->setMeta('代理打款'); return $this->fetch(); } /** * agentUser [各等级代理商用户] * * @return type **/ protected function agentUser($uid) { $member = db('member')->where('uid='.$uid)->find(); if($member['is_top']==1){ $map['s_uid'] = $uid; }elseif($member['is_top']==0 && empty($member['t_uid'])){ $map['t_uid'] = $uid; }else{ return $uid; } $map['status'] =1; $map['group'] =3; $daili = db('member')->where($map)->column('uid'); $daili[]=$uid; $agentid = implode(",",$daili); return $agentid; } /** * balancestatus [结算记录 状态值] * * @param type $uid [用户ID] * @param type $status [目前状态值] * @param type $updatastatus [更新状态值] * * @return type **/ protected function balancestatus($uid,$status,$updatastatus) { $info = db('pay_balance')->where('status='.$status.' and uid = '.$uid)->column('id'); foreach($info as $k=>$v){ db('pay_balance')->where('id',$v)->setField('status',$updatastatus); } return true; } /*** 一级代理商结算记录自动生成 ***/ public function balance() { $member = db('member')->alias('m')->join('cms_member_extend e','e.uid = m.uid')->where(array('m.status'=>1,'m.group'=>3,'m.is_top'=>1))->field('m.uid,e.percentage')->select(); foreach($member as $k=>$v){ $agentid = ''; $daili = array(); $data = array(); $startdata = mktime(0,0,0,date('m'),date('d'),date('Y')); $enddata = mktime(23,59,59,date('m'),date('d'),date('Y')); $daili = db('member')->where(array('status'=>1,'group'=>3,"s_uid"=>$v['uid']))->column('uid'); $daili[]=$v['uid']; $agentid = implode(",",$daili); $order = db('order')->where(array('agentid'=>array('in',$agentid),'status'=>1,'create_time' => array(array('gt',$startdata),array('lt',$enddata))))->field('count(id) as num,SUM(money) as money')->find(); $pay_balance = db('pay_balance')->where(array('uid'=>$v['uid'],'create_time' => strtotime(date('Y-m-d'))))->find(); $data = array( 'uid'=>$v['uid'], 'create_time' => strtotime(date('Y-m-d')), 'num'=>$order['num'], 'money'=>$order['money'], 'balmoney'=>$order['money']*$v['percentage'], 'percentage'=>$v['percentage'], ); if($pay_balance){ db('pay_balance')->where('id',$pay_balance['id'])->update($data); }else{ db('pay_balance')->insert($data); } } } /**通知公告列表***/ public function article() { $list = db('notice')->where('status=1')->paginate(config('list_rows')); $data['list'] = $list; $data['page'] = $list->render(); $this->assign($data); $this->setMeta('通知公告'); return $this->fetch(); } /**通知公告详情***/ public function articleview() { $id =input('id'); $info = db('notice')->where(array('status'=>1,'id'=>$id))->find(); $this->assign($info); $this->setMeta('通知公告>>'.$info['title']); return $this->fetch(); } }