352 lines
10 KiB
Plaintext
352 lines
10 KiB
Plaintext
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | 小说系统 数据统计 [ WE CAN DO IT JUST THINK IT ]
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace app\admin\controller;
|
|
use app\common\controller\Admin;
|
|
|
|
class Agent extends Admin {
|
|
|
|
public function _initialize() {
|
|
parent::_initialize();
|
|
}
|
|
|
|
/**
|
|
* index [我的结算单]
|
|
*
|
|
* @return type
|
|
**/
|
|
public function index() {
|
|
$status = input('status');
|
|
|
|
if(session('user_auth.group')==3){
|
|
$map['uid'] = session('user_auth.uid');
|
|
}else{
|
|
$map= array();
|
|
}
|
|
//总充值
|
|
$data['pay'] = db('pay_balance')->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('<a href="/admin/agent/article/model_id/21.html">通知公告</a>>>'.$info['title']);
|
|
return $this->fetch();
|
|
}
|
|
|
|
|
|
} |