|
|
|
@ -240,26 +240,25 @@ class PromoteController extends BaseController
|
|
|
|
|
|
|
|
|
|
private function caculateSpend($pay_time, $condition, $create = [], $type = 0)
|
|
|
|
|
{
|
|
|
|
|
$map1['promote_id'] = $map['promote_id'] = array('egt', 0);
|
|
|
|
|
$map['promote_id'] = array('egt', 0);
|
|
|
|
|
$spend = M('Spend', 'tab_');
|
|
|
|
|
$map1['pay_status'] = $map['pay_status'] = 1;
|
|
|
|
|
$map['pay_status'] = 1;
|
|
|
|
|
$today = total(1);
|
|
|
|
|
$yesterday = total(5);
|
|
|
|
|
$week = total(2);
|
|
|
|
|
$mounth = total(3);
|
|
|
|
|
unset( $map['create_time']);
|
|
|
|
|
$this->getLoginPromote();
|
|
|
|
|
|
|
|
|
|
$promote_id = get_pid();
|
|
|
|
|
|
|
|
|
|
$promoteId = M("promote", "tab_")
|
|
|
|
|
->field("id")
|
|
|
|
|
->where(array('chain' => ['like', '/'.$promote_id . '/%'],'id'=>$promote_id,'_logic'=>'or'))
|
|
|
|
|
->select();
|
|
|
|
|
$promoteId = implode(',',array_column($promoteId,'id'));
|
|
|
|
|
$promoteId = $this->loginPromote['id'];
|
|
|
|
|
|
|
|
|
|
$whereUser['promote_id'] = ['IN', $promoteId];
|
|
|
|
|
$promoteIds = M("promote", "tab_")
|
|
|
|
|
->where(array('chain' => ['like', $this->loginPromote['chain'] . $promoteId . '/%']))
|
|
|
|
|
->getField('id', true);
|
|
|
|
|
$promoteIds[] = $promoteId;
|
|
|
|
|
|
|
|
|
|
$map['promote_id'] = ['IN', $promoteIds];
|
|
|
|
|
if (in_array($type, [1, 2])) {
|
|
|
|
|
$whereUser['promote_id'] = $map['promote_id'];
|
|
|
|
|
if ($type == 1) {
|
|
|
|
|
$pay_time = total(1);
|
|
|
|
|
$start = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
|
|
|
|
@ -271,78 +270,49 @@ class PromoteController extends BaseController
|
|
|
|
|
}
|
|
|
|
|
$whereUser['register_time'] = ['between', array($start, $end - 1)];
|
|
|
|
|
$userId = M('user', 'tab_')->where($whereUser)->getField('id', true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($userId) {
|
|
|
|
|
$map1['user_id'] = $map['user_id'] = ['IN', $userId];
|
|
|
|
|
} else if (!$userId && $type != 0) {
|
|
|
|
|
return array('sum_mounth' => 0, 'sum_today' => 0);
|
|
|
|
|
if ($userId) {
|
|
|
|
|
$map['user_id'] = ['IN', $userId];
|
|
|
|
|
} else if (!$userId && $type != 0) {
|
|
|
|
|
return array('sum_mounth' => 0, 'sum_today' => 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取所有会长
|
|
|
|
|
$promote_map = "`chain` = '%/{$promote_id}/%' OR id = {$promote_id}";
|
|
|
|
|
|
|
|
|
|
$promote = M("promote","tab_")->field("id,account")->where($promote_map)->select();
|
|
|
|
|
$data =array();
|
|
|
|
|
for ($i=0; $i < count($promote); $i++) {
|
|
|
|
|
# code...
|
|
|
|
|
$proid = M("promote","tab_")->field("id")->where("`chain` like '%/{$promote[$i]['id']}/%'")->select();
|
|
|
|
|
$str = '';
|
|
|
|
|
for($k=0; $k<count($proid); $k++){
|
|
|
|
|
# code...
|
|
|
|
|
$str .= ($proid[$k]['id'].",");
|
|
|
|
|
if (isset($_REQUEST['game_name'])) {
|
|
|
|
|
$map['game_name'] = $_REQUEST['game_name'];
|
|
|
|
|
if (isset($_REQUEST['server_id'])) {
|
|
|
|
|
$map['server_name'] = $_REQUEST['server_id'];
|
|
|
|
|
unset($_REQUEST['server_id']);
|
|
|
|
|
}
|
|
|
|
|
$str .= "{$promote[$i]['id']}";
|
|
|
|
|
$map['promote_id'] = array("in",$str);
|
|
|
|
|
if (isset($_REQUEST['game_name'])) {
|
|
|
|
|
$map['game_name'] = $_REQUEST['game_name'];
|
|
|
|
|
if (isset($_REQUEST['server_id'])) {
|
|
|
|
|
$map['server_name'] = $_REQUEST['server_id'];
|
|
|
|
|
unset($_REQUEST['server_id']);
|
|
|
|
|
}
|
|
|
|
|
$dbdata = $spend
|
|
|
|
|
->field('
|
|
|
|
|
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as count,
|
|
|
|
|
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
|
|
|
|
|
$data = $spend
|
|
|
|
|
->field('
|
|
|
|
|
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as sum_count,
|
|
|
|
|
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as sum_today,
|
|
|
|
|
floor(sum(IF(pay_time ' . $yesterday . ',pay_amount,0))*100) as yesterday,
|
|
|
|
|
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week,
|
|
|
|
|
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth')
|
|
|
|
|
->where($map)
|
|
|
|
|
->where("pay_time".$pay_time)
|
|
|
|
|
->find();
|
|
|
|
|
$dbdata['promote_account'] = $promote[$i]['account'];
|
|
|
|
|
} else {
|
|
|
|
|
$dbdata = $spend
|
|
|
|
|
->field('
|
|
|
|
|
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as count,
|
|
|
|
|
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
|
|
|
|
|
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as sum_week,
|
|
|
|
|
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as sum_mounth')
|
|
|
|
|
->where($map)
|
|
|
|
|
->where("pay_time".$pay_time)
|
|
|
|
|
->find();
|
|
|
|
|
} else {
|
|
|
|
|
$data = $spend
|
|
|
|
|
->field('
|
|
|
|
|
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as sum_count,
|
|
|
|
|
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as sum_today,
|
|
|
|
|
floor(sum(IF(pay_time ' . $yesterday . ',pay_amount,0))*100) as yesterday,
|
|
|
|
|
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week,
|
|
|
|
|
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth')
|
|
|
|
|
->where($map)
|
|
|
|
|
->where("pay_time".$pay_time)
|
|
|
|
|
->find();
|
|
|
|
|
$dbdata['promote_account'] = $promote[$i]['account'];
|
|
|
|
|
}
|
|
|
|
|
$data[] = $dbdata;
|
|
|
|
|
}
|
|
|
|
|
foreach ($data as $key => $value) {
|
|
|
|
|
$value['count'] ?: 0;
|
|
|
|
|
$value['today'] ?: 0;
|
|
|
|
|
$value['week'] ?: 0;
|
|
|
|
|
$value['mounth'] ?: 0;
|
|
|
|
|
static $i = 0;
|
|
|
|
|
$i++;
|
|
|
|
|
$data[$key]['rand'] = $i;
|
|
|
|
|
$data[$key]['count'] = $value['count'] / 100;
|
|
|
|
|
$data[$key]['today'] = $value['today'] / 100;
|
|
|
|
|
$data[$key]['yesterday'] = $value['yesterday'] / 100;
|
|
|
|
|
$data[$key]['week'] = $value['week'] / 100;
|
|
|
|
|
$data[$key]['mounth'] = $value['mounth'] / 100;
|
|
|
|
|
}
|
|
|
|
|
$total = $this->data_total($data);
|
|
|
|
|
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as sum_week,
|
|
|
|
|
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as sum_mounth')
|
|
|
|
|
->where($map)
|
|
|
|
|
->where("pay_time".$pay_time)
|
|
|
|
|
->find();
|
|
|
|
|
}
|
|
|
|
|
$data['sum_count'] = empty($data['sum_count']) ? 0 : bcdiv($data['sum_count'], 100 ,2);
|
|
|
|
|
$data['sum_today'] = empty($data['sum_today']) ? 0 : bcdiv($data['sum_today'], 100 ,2);
|
|
|
|
|
$data['yesterday'] = empty($data['yesterday']) ? 0 : bcdiv($data['yesterday'], 100 ,2);
|
|
|
|
|
$data['sum_week'] = empty($data['sum_week']) ? 0 : bcdiv($data['sum_week'], 100 ,2);
|
|
|
|
|
$data['sum_mounth'] = empty($data['sum_mounth']) ? 0 : bcdiv($data['sum_mounth'], 100 ,2);
|
|
|
|
|
|
|
|
|
|
return $total;
|
|
|
|
|
return $data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function data_total($data)
|
|
|
|
|