Merge branch 'hotfix/ltv' into dev

master
yulingwei 5 years ago
commit 7d1808a7bf

@ -1770,4 +1770,27 @@ function data2csv(&$data,$title,$fields){
fclose($fp); //每生成一个文件关闭
die();
}
//所有支付方式
function all_pay_way_other($type=false)
{
if($type){
$pay_way[0]=array('key'=>0,'value'=>"平台币");
}
$pay_way[1]=array('key'=>-1,'value'=>"绑币");
$pay_way[2]=array('key'=>1,'value'=>"支付宝");
$pay_way[3]=array('key'=>2,'value'=>"微信");
$pay_way[7]=array('key'=>7,'value'=>'金猪');
$pay_way[9]=array('key'=>9,'value'=>"双乾支付-支付宝");
$pay_way[10]=array('key'=>10,'value'=>"双乾支付-银联");
// $pay_way[3]=array('key'=>3,'value'=>'微信APP');
// $pay_way[4]=array('key'=>4,'value'=>'威富通');
/* $pay_way[4]=array('key'=>5,'value'=>'聚宝云'); */
// $pay_way[5]=array('key'=>6,'value'=>'汇付宝');
/* $pay_way[6]=array('key'=>7,'value'=>"苹果支付");
*/
$pay_way[15]=array('key'=>15,'value'=>'双乾支付-快捷');
return $pay_way;
}
?>

@ -83,7 +83,7 @@ class AjaxController extends ThinkController{
if ($sdk_version) {
$map['server_version'] = $game_map['sdk_version'] = $sdk_version;
}else {
$this->AjaxReturn([]);
// $this->AjaxReturn([]);
}
$game = M("Game", 'tab_')->where($game_map)->getField('id', true);

@ -7,6 +7,7 @@ use Admin\Model\SpendModel;
use Think\Think;
use Base\Tool\Printer;
use Base\Service\PromoteService;
use GuzzleHttp\Client;
class ConsoleController extends Think {
@ -263,4 +264,43 @@ class ConsoleController extends Think {
}
}
}
public function testLogin()
{
/* $client = new Client([
'base_uri' => 'http://47.111.118.107:9501',
'timeout' => 10.0,
]);
$response = $client->post('/game-event/login', [
'form_params' => [
'user_id' => 28747,
'game_id' => 153,
'login_time' => 1577361998
]
]);
$result = (string)$response->getBody();
echo $result; */
$data = [
'user_id' => 28747,
'game_id' => 153,
'login_time' => 1577361998
];
$client = new Client([
'base_uri' => 'http://47.111.118.107:9501',
'timeout' => 5.0,
]);
$promise = $client->requestAsync('POST', '/game-event/login', [
'form_params' => $data
]);
$promise->then(
function (ResponseInterface $res) {
echo $res->getStatusCode() . PHP_EOL;
},
function (RequestException $e) {
echo $e->getMessage() . PHP_EOL;
echo $e->getRequest()->getMethod();
}
);
}
}

@ -1019,10 +1019,8 @@ class FinanceController extends ThinkController
'pay_source' => 2,
'tab_deposit.pay_status' => 1,
'tab_deposit.pay_way' => ['gt', 0],
'extend'=>['eq','']
,'tab_deposit.create_time'=>$time,
'tab_deposit.create_time'=>$time,
])->field('tab_deposit.pay_way,"" as pay_type, SUM(tab_deposit.pay_amount) AS balance')
->join("inner join tab_pay_info on tab_pay_info.order_id=tab_deposit.pay_order_number")
->group('tab_deposit.pay_way')
->select();
foreach ($deposit as $key => $value) {
@ -1076,12 +1074,12 @@ class FinanceController extends ThinkController
$cashStatistics[$value['pay_way']]['pay_amount'] = '0.00';
$cashStatistics[$value['pay_way']]['balance'] = 0;//别表的平台币充值
}
$cashStatistics[$value['pay_way']]['pay_amount'] += $value['pay_amount'];//别表的平台币充值
$cashStatistics[$value['pay_way']]['balance'] += $value['pay_amount'];//别表的平台币充值
}
//推广后台
$spreadData = M("coin_pay_order","tab_")
->field("pay_way,'' as pay_type,sum(real_amount) as pay_amount")
->field("pay_way,'' as pay_type,sum(pay_amount) as pay_amount")
->where([
'order_status'=>['egt',1],
'pay_way'=>['egt',1],'pay_time'=>$time
@ -1101,7 +1099,7 @@ class FinanceController extends ThinkController
$cashStatistics[$value['pay_way']]['pay_amount'] = '0.00';
$cashStatistics[$value['pay_way']]['balance'] = 0;//别表的平台币充值
}
$cashStatistics[$value['pay_way']]['pay_amount'] += $value['pay_amount'];//别表的平台币充值
$cashStatistics[$value['pay_way']]['balance'] += $value['pay_amount'];//别表的平台币充值
}
//官网充值
$offcialmap['pay_status'] = 1;
@ -1131,7 +1129,7 @@ class FinanceController extends ThinkController
$cashStatistics[$value['pay_way']]['pay_amount'] = '0.00';
$cashStatistics[$value['pay_way']]['balance'] = 0;//别表的平台币充值
}
$cashStatistics[$value['pay_way']]['pay_amount'] += $value['pay_amount'];//别表的平台币充值
$cashStatistics[$value['pay_way']]['balance'] += $value['pay_amount'];//别表的平台币充值
}
foreach ($cashStatistics as $key => $value) {

@ -56,19 +56,19 @@ class FinancePromoteController extends AdminController
$senddata[$v['p_id']] = $v;
};
}
if(array_key_exists(0,$senddata) || $_REQUEST['promote_id']==0){
$pmap['status']=1;
if($istimeselect){
$pmap['create_time'] = $istimeselect;
}
$admininside = M("provide_user p","tab_")->field("sum(amount) amount")->where($pmap)->find();
if($admininside['amount'] >0){
$senddata[0]['inside_cash_count']= $admininside['amount'];
if(!empty($senddata)){
if(array_key_exists(0,$senddata) || $_REQUEST['promote_id']==0){
$pmap['status']=1;
if($istimeselect){
$pmap['create_time'] = $istimeselect;
}
$admininside = M("provide_user p","tab_")->field("sum(amount) amount")->where($pmap)->find();
if($admininside['amount'] >0){
$senddata[0]['inside_cash_count']= $admininside['amount'];
}
}
}
$data = [];
$count =array(
"cash_count"=>0,
@ -132,6 +132,9 @@ class FinancePromoteController extends AdminController
}
}
}
if (isset($_REQUEST['company_id'])) {
$map['promote.company_id'] = $_REQUEST['company_id'];
}
if($type == "spend"){
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
$map["s.game_id"] = array("in",implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) );
@ -289,6 +292,9 @@ class FinancePromoteController extends AdminController
}
}
}
if (isset($_REQUEST['company_id'])) {
$map['promote.company_id'] = $_REQUEST['company_id'];
}
if ($type == "spend") {
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
$map["s.game_id"] = array("in",implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) );

@ -65,6 +65,7 @@ class PayChannelController extends ThinkController
//平台币充值金额计算
$coinMap['pay_source'] = 2;
$coinMap['extend'] = array('eq','');
$coinMap['tab_deposit.pay_way'] = array('egt',1);
// setPowerPromoteIds($coinMap,'tab_deposit.promote_id');
$coinData = M('pay_info','tab_')
@ -74,13 +75,11 @@ class PayChannelController extends ThinkController
->group("game_id")
->select();
unset($coinMap['game_id']);
// unset($coinMap['game_id']);
//平台币充值
$coinSum = M('deposit','tab_')
->where($coinMap)
->sum('tab_deposit.pay_amount');
// var_dump($coinSum);die();
$this->assign('coinSum',$coinSum);
$data = array_merge($data,$coinData);
$data = $this->unique_multi_array($data,'game_id');
@ -178,7 +177,7 @@ class PayChannelController extends ThinkController
// setPowerPromoteIds($spreadMap,'promote_id');
//推广后台
$spreadData = M("coin_pay_order","tab_")
->field("0 as game_name,sum(real_amount) as pay_amount,0 as platform_coin,id as test_coin")
->field("0 as game_name,sum(pay_amount) as pay_amount,0 as platform_coin,id as test_coin")
->where($spreadMap)
->find();
$spreadData['pay_amount'] = $spreadData['pay_amount']?$spreadData['pay_amount']:0;
@ -251,11 +250,18 @@ class PayChannelController extends ThinkController
}
//汇总数据
$sumData['pay_amount'] = $sumData['pay_amount'] + $superSignData['pay_amount'] +
$offcialData['pay_amount'] + $bindRechargeData['pay_amount'] + $spreadData['pay_amount'];
$sumData['platform_coin'] = $sumData['platform_coin'] - $sumData['test_platform_coin'];
$sumData['test_coin'] = $sumData['test_coin']+$offcialTestCost+$testSuperSignCost+$sumData['test_platform_coin'];
$sumData['sum'] = $sumData['pay_amount'] +$sumData['test_coin'] + $sumData['platform_coin'];
if ($_REQUEST['game_id']) {
$sumData['platform_coin'] = $sumData['platform_coin'] - $sumData['test_platform_coin'];
$sumData['test_coin'] = $sumData['test_coin']+$sumData['test_platform_coin'];
$sumData['sum'] = $sumData['pay_amount'] +$sumData['test_coin'] + $sumData['platform_coin'];
} else {
$sumData['pay_amount'] = $sumData['pay_amount'] + $superSignData['pay_amount'] + $bindRechargeData['pay_amount'];
$sumData['platform_coin'] = $sumData['platform_coin'] - $sumData['test_platform_coin'] +
$offcialData['pay_amount'] + $spreadData['pay_amount'];
$sumData['test_coin'] = $sumData['test_coin']+$offcialTestCost+$testSuperSignCost+$sumData['test_platform_coin'];
$sumData['sum'] = $sumData['pay_amount'] +$sumData['test_coin'] + $sumData['platform_coin'];
$coinSum = $coinSum + $offcialData['pay_amount'] + $spreadData['pay_amount']+$offcialTestCost;
}
if($_REQUEST['export'] == 1) {
@ -277,6 +283,8 @@ class PayChannelController extends ThinkController
$payTypeDataExport['pay_amount'] .= $key.''.$value." ";
}
}
$payTypeDataExport['pay_amount'] .= "平台币直充总金额(2019.12.18号以前的不显示在列表中,此项也不计入充值方式统计)".
($coinSum);
$channelDataExport['game_name'] = '支付渠道';
foreach($channelData as $key => $value) {
@ -287,6 +295,12 @@ class PayChannelController extends ThinkController
unset($sumData['test_platform_coin']);
if ($_REQUEST['game_id']) {
unset($superSignData);
unset($offcialData);
unset($spreadData);
}
db2csv(array_merge(array_merge(array_merge(array_merge(
array_merge(array_merge(
array_merge($data,[0=>$superSignData]),[0=>$offcialData])),[0=>$spreadData],[0=>$sumData])),[0=>$payTypeDataExport]),[0=>$channelDataExport]),'支付渠道统计导出',$title);
@ -296,6 +310,9 @@ class PayChannelController extends ThinkController
$size = $row;//每页显示的记录数
$data = array_slice($data, ($arraypage - 1) * $size, $size);
//平台币直充金额,下面列表
$this->assign('coinSum',$coinSum);
$this->assign('sumData',$sumData);
$this->assign('channelData',$channelData);
$this->assign('listdata',$data);
@ -371,6 +388,26 @@ class PayChannelController extends ThinkController
->where($map)
->group('pay_way')
->select(false);
if ($_REQUEST['game_id']) {
if ($map['pay_way']) {
$map['tab_deposit.pay_way'] = $map['pay_way'];
unset($map['pay_way']);
}
if ($map['create_time']) {
$map['tab_deposit.create_time'] = $map['create_time'];
unset($map['create_time']);
}
$map['tab_deposit.pay_source'] = 2;
$map['tab_pay_info.extend'] = '';
$depositData = M('pay_info','tab_')
->join("inner join tab_deposit on tab_pay_info.order_id=tab_deposit.pay_order_number")
->field('sum(pay_amount) as pay_amount,tab_deposit.pay_way as pay_way')
->where($map)
->group('tab_deposit.pay_way')
->select(false);
// var_dump($depositData);die();
}
$bindMap['pay_status'] = 1;
$bindMap['pay_way'] = array('egt',1);
@ -387,8 +424,14 @@ class PayChannelController extends ThinkController
->where($bindMap)
->select(false);
if(!$_REQUEST['game_id']) {
$sql = "{$channelData} UNION ALL {$depositData} UNION ALL {$superSignDataPay} UNION ALL {$spreadDataPay} UNION ALL {$bindRechargeData}";
} else {
$sql = "{$channelData} UNION ALL {$depositData}";
}
//将语句整合起来查询
$channelData = "select sum(pay_amount) as pay_amount,pay_way from ({$channelData} UNION ALL {$depositData} UNION ALL {$superSignDataPay} UNION ALL {$spreadDataPay} UNION ALL {$bindRechargeData})t group by pay_way;";
$channelData = "select sum(pay_amount) as pay_amount,pay_way from ({$sql})t group by pay_way;";
// var_dump($channelData);die();
$channelData = M()->query($channelData);
@ -438,6 +481,9 @@ class PayChannelController extends ThinkController
$coinMap['tab_deposit.pay_way'] =$spreadMap['pay_way']=$map['pay_way'] = array('egt',1);
$offcialmap['pay_way'] = array('egt',1);
if (!empty($_REQUEST['pay_way']) || $_REQUEST['pay_way']=='0') {
if ($_REQUEST['pay_way']=="2") {
$_REQUEST['pay_way'] = ['in', '2,3,4'];
}
$map['pay_way'] = $_REQUEST['pay_way'];
$coinMap['tab_deposit.pay_way'] = $_REQUEST['pay_way'];
$spreadMap['pay_way'] = $_REQUEST['pay_way'];
@ -463,6 +509,7 @@ class PayChannelController extends ThinkController
// var_dump($spendData);die();
$coinMap['pay_status'] = 1;
$coinMap['pay_source'] = 2;
$coinMap['extend'] = '';
$coinData = M('pay_info','tab_')
->join("inner join tab_deposit on tab_pay_info.order_id=tab_deposit.pay_order_number")
->field("pay_order_number,tab_deposit.create_time as pay_time,tab_deposit.user_account,tab_pay_info.game_name,tab_deposit.promote_account,
@ -475,7 +522,7 @@ class PayChannelController extends ThinkController
// setPowerPromoteIds($spreadMap,'promote_id');
// $spreadMap['pay_way'] = array('egt',1);
$coin_pay_order = M('coin_pay_order','tab_')
->field("pay_order_number,create_time as pay_time,promote_account,pay_amount as cost,real_amount as pay_amount,pay_way")
->field("pay_order_number,create_time as pay_time,promote_account,pay_amount,real_amount as cost,pay_way")
->where($spreadMap)
->select(false);
@ -562,7 +609,11 @@ class PayChannelController extends ThinkController
foreach ($sumData as $key => $value) {
if ($value['pay_way']>=1) {
$sumAllData['pay_amount'] += $value['pay_amount'];
if($model == 'deposit'||$model == 'coin_pay_order') {
$sumAllData['platform_amount'] += $value['pay_amount'];
} else {
$sumAllData['pay_amount'] += $value['pay_amount'];
}
}
}
@ -637,6 +688,9 @@ class PayChannelController extends ThinkController
->select(false);
// var_dump($spendData);die();
$coinMap['pay_status'] = 1;
$coinMap['pay_source'] = 2;
$coinMap['extend'] = '';
$coinData = M('pay_info','tab_')
->join("inner join tab_deposit on tab_pay_info.order_id=tab_deposit.pay_order_number")
->field("pay_order_number,tab_deposit.create_time as pay_time,tab_deposit.user_account,tab_pay_info.game_name,tab_deposit.promote_account,
@ -765,7 +819,11 @@ class PayChannelController extends ThinkController
foreach ($sumData as $key => $value) {
if ($value['pay_way']>=1) {
$sumAllData['pay_amount'] += $value['pay_amount'];
if($model == 'deposit'||$model == 'coin_pay_order') {
$sumAllData['platform_amount'] += $value['pay_amount'];
} else {
$sumAllData['pay_amount'] += $value['pay_amount'];
}
}
}

@ -56,10 +56,9 @@ class PlatformController extends ThinkController
->group('fgame_id')
->order('count desc,register_time')
->select();
// dd($data);
$map2 = array();
$map['fgame_id'] = array('egt', 0);
$map['puid'] = 0;
$map2['fgame_id'] = array('egt', 0);
$map2['puid'] = 0;
setPowerPromoteIds($map2);
$data2 = $user->field('fgame_id,count(IF(register_time ' . $today . ',1,null)) as today,
@ -69,7 +68,6 @@ class PlatformController extends ThinkController
->group('fgame_id')
->select();
$data2 = array_column($data2, null, 'fgame_id');
// dd($data2);
$count = count($data);
foreach ($data as $key => $value) {
static $i = 0;
@ -139,12 +137,12 @@ class PlatformController extends ThinkController
//为数据权限添加
setPowerPromoteIds($map);
$map['game_id'] = array('gt', 0);
// var_dump($_REQUEST);exit;
if (isset($_REQUEST['game_name']) && $_REQUEST['game_name'] != '') {
$map['game_id'] = $_REQUEST['game_name'];
unset($_REQUEST['game_name']);
}
$map['game_id'] = array('gt', 0);
$map['pay_status'] = 1;
$today = total(1);
$week = total(2);
@ -454,19 +452,73 @@ class PlatformController extends ThinkController
$data = M('promote', 'tab_')->alias('tp1')
->field('tp1.account as promote_account,tp1.id,
date_format(FROM_UNIXTIME(register_time),"% ") AS time,
count(u.id) as count,
count(u.id) as count')
->join("tab_promote AS tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') OR tp2.id = tp1.id", 'left')
->join("tab_user as u on tp2.id = u.promote_id", 'left')
->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false)
->where($map)
->group('tp1.id')
->order('count desc, register_time')
->select();
//今日/本周/本月不变
$tmap = $map;
if(isset($tmap['register_time'])){
//获取最大最小
$tweek = total(2,false);
$tmonth = total(3,false);
//获取最小
$tmin = 0;
if($tweek[1][0] < $tmonth[1][0]){
$tmin = $tweek[1][0];
}else{
$tmin = $tmonth[1][0];
}
$tmap['register_time'] = ['between', array($tmin,$tmonth[1][1])];
}
$tdata = M('promote', 'tab_')->alias('tp1')
->field('tp1.account as promote_account,tp1.id,
date_format(FROM_UNIXTIME(register_time),"% ") AS time,
count(IF(register_time ' . $today . ',1,null)) as today,
count(IF(register_time ' . $week . ',1,null)) as week,
count(IF(register_time ' . $mounth . ',1,null)) as mounth')
->join("tab_promote AS tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') OR tp2.id = tp1.id", 'left')
->join("tab_user as u on tp2.id = u.promote_id", 'left')
->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false)
->where($map)
->where($tmap)
->group('tp1.id')
->order('count desc, register_time')
->order('register_time')
->select();
$tmdata = [];
foreach($data as $k=>$v){
$v['today'] = 0;
$v['week'] = 0;
$v['mounth'] = 0;
$tmdata[$v['id']] = $v;
}
foreach ($tdata as $k => $v) {
$tmdata[$v['id']]['today'] = $v['today'];
$tmdata[$v['id']]['week'] = $v['week'];
$tmdata[$v['id']]['mounth'] = $v['mounth'];
if (!$tmdata[$v['id']]['promote_account']) {
$tmdata[$v['id']]['promote_account'] = $v['promote_account'];
$tmdata[$v['id']]['count'] = 0;
}
}
$data = [];
foreach($tmdata as $k => $v){
$data[] = $v;
}
unset($map['tp1.id']);
unset($map['tp1.chain']);
unset($tmap['tp1.chain']);
unset($tmap['tp1.chain']);
$map['promote_id'] = 0;
$authorityData['count'] = 0;
@ -475,13 +527,19 @@ class PlatformController extends ThinkController
if ($user_auth_promote_ids == 'all' || in_array('0', explode(",", $user_auth_promote_ids))) {
//官方渠道数据添加
$authorityData = M('user', 'tab_')->alias('u')
->field('date_format(FROM_UNIXTIME(register_time),"%Y-%m-%d") AS time,
count(id) as count,
count(IF(register_time ' . $today . ',1,null)) as today,
count(IF(register_time ' . $week . ',1,null)) as week,
count(IF(register_time ' . $mounth . ',1,null)) as mounth')
->field('date_format(FROM_UNIXTIME(register_time),"%Y-%m-%d") AS time,count(id) as count')
->where($map)
->find();
$tauthorityData = M('user', 'tab_')->alias('u')
->field('date_format(FROM_UNIXTIME(register_time),"%Y-%m-%d") AS time,
count(IF(register_time ' . $today . ',1,null)) as today,
count(IF(register_time ' . $week . ',1,null)) as week,
count(IF(register_time ' . $mounth . ',1,null)) as mounth')
->where($tmap)
->find();
$authorityData['today'] = $tauthorityData['today'];
$authorityData['week'] = $tauthorityData['week'];
$authorityData['mounth'] = $tauthorityData['mounth'];
}
$authorityData['promote_account'] = "官方渠道";
$authorityData['id'] = "1";
@ -540,83 +598,99 @@ class PlatformController extends ThinkController
$map1['promote_id'] = $map['promote_id'] = array('egt', 0);
$spend = M('Spend', 'tab_');
if (!empty($_REQUEST['timestart']) && !empty($_REQUEST['timeend'])) {
$map['create_time'] = ['between', array(strtotime($_REQUEST['timestart']), strtotime($_REQUEST['timeend']) + 86399)];
$pay_time = " between " . strtotime($_REQUEST['timestart']) . " and " . (strtotime($_REQUEST['timeend']) + 86399) . " ";
$map['pay_time'] = ['between', array(strtotime($_REQUEST['timestart']), strtotime($_REQUEST['timeend']) + 86399)];
unset($_REQUEST['timestart']);
unset($_REQUEST['timeend']);
} elseif (!empty($_REQUEST['timestart']) && empty($_REQUEST['timeend'])) {
$map['create_time'] = ['between', array(strtotime($_REQUEST['timestart']), time())];
$pay_time = " between " . strtotime($_REQUEST['timestart']) . " and " . time() . " ";
$map['pay_time'] = ['between', array(strtotime($_REQUEST['timestart']), time())];
unset($_REQUEST['timestart']);
} elseif (empty($_REQUEST['timestart']) && !empty($_REQUEST['timeend'])) {
$map['create_time'] = ['elt', strtotime($_REQUEST['timeend']) + 86399];
$pay_time = " between 0 and " . (strtotime($_REQUEST['timeend']) + 86399) . " ";
$map['pay_time'] = ['elt', strtotime($_REQUEST['timeend']) + 86399];
unset($_REQUEST['timeend']);
} else {
$pay_time = " between 0 and " . time();
$map['pay_time'] = ['between', array(0, time())];
// $pay_time = " between 0 and " . time();
}
$map1['pay_status'] = $map['pay_status'] = 1;
$today = total(1);
$week = total(2);
$mounth = total(3);
unset( $map['create_time']);
// var_dump( $promote);
$tweek = total(2,false);
$tmonth = total(3,false);
//获取最小
$tmin = 0;
if($tweek[1][0] < $tmonth[1][0]){
$tmin = $tweek[1][0];
}else{
$tmin = $tmonth[1][0];
}
//获取所有会长
$promote_map = "`chain` = '/'";
//为数据权限添加
setPowerPromoteIds($map, 'tp1.id');
if (isset($_REQUEST['promote_id'])) {
$promote_map = "`chain` = '%/{$_REQUEST['promote_id']}/%' OR id = {$_REQUEST['promote_id']}";
$map['tp1.id'] = $_REQUEST['promote_id'];
} else {
$map['tp1.chain'] = '/';
}
//为数据权限添加
setPowerPromoteIds($map);
$promote_map2 = array();
setPowerPromoteIds($promote_map2, 'id');
$promote = M("promote","tab_")->field("id,account")->page($page,$row)->where($promote_map)->where($promote_map2)->select();
$pcount = M("promote","tab_")->field("count(*) acount")->where($promote_map)->where($promote_map2)->find()['acount'];
// var_dump( $promote);
$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['s.game_name'] = $_REQUEST['game_name'];
if (isset($_REQUEST['server_id'])) {
$map['s.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,
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'];
$dbdata['promote_id'] = $promote[$i]['id'];
} 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 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'];
$dbdata['promote_id'] = $promote[$i]['id'];
}
$data = M('promote', 'tab_')->alias('tp1')
->field('tp1.account as promote_account,tp1.id,
floor(sum(pay_amount)*100) as count')
->join("tab_promote AS tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') OR tp2.id = tp1.id", 'left')
->join("tab_spend as s on tp2.id = s.promote_id", 'left')
->where($map)
->group('tp1.id')
->order('count desc')
->select();
//今日/本周/本月不变
$tmap = $map;
if(isset($map['pay_time'])){
$tmap['pay_time'] = ['between', array($tmin,$tmonth[1][1])];
}
$tdata = M('promote', 'tab_')->alias('tp1')
->field('tp1.account as promote_account,tp1.id,
floor(sum(IF(s.pay_time ' . $today . ',pay_amount,0))*100) as today,
floor(sum(IF(s.pay_time ' . $week . ',pay_amount,0))*100) as week,
floor(sum(IF(s.pay_time ' . $mounth . ',pay_amount,0))*100) as mounth')
->join("tab_promote AS tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') OR tp2.id = tp1.id", 'left')
->join("tab_spend as s on tp2.id = s.promote_id", 'left')
->where($tmap)
->group('tp1.id')
->select();
$tmdata = [];
foreach($data as $k=>$v){
$v['today'] = 0;
$v['week'] = 0;
$v['mounth'] = 0;
$tmdata[$v['id']] = $v;
}
foreach ($tdata as $k => $v) {
$tmdata[$v['id']]['today'] = $v['today'];
$tmdata[$v['id']]['week'] = $v['week'];
$tmdata[$v['id']]['mounth'] = $v['mounth'];
if (!$tmdata[$v['id']]['promote_account']) {
$tmdata[$v['id']]['promote_account'] = $v['promote_account'];
$tmdata[$v['id']]['count'] = 0;
}
$data[] = $dbdata;
}
$data = [];
foreach($tmdata as $k => $v){
$data[] = $v;
}
// dd($data);
$count = count($data);
foreach ($data as $key => $value) {
$value['count'] ?: 0;
@ -641,7 +715,7 @@ class PlatformController extends ThinkController
$this->assign('userarpu_order_type', $data_order_type);
}
$page = set_pagination($pcount, $row);
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);
}
@ -650,13 +724,24 @@ class PlatformController extends ThinkController
$size = $row;//每页显示的记录数
$pnum = ceil(count($data) / $size); //总页数ceil()函数用于求大于数字的最小整数
if(isset($_REQUEST['export'])){
data2csv($data,'推广员充值统计',array(
"promote_account"=>"推广员账号",
"count"=>"累计充值",
"rand"=>"排行榜",
"today"=>"今日充值",
"week"=>"本周充值",
"mounth"=>"本月充值",
));
}
$data = array_slice($data, ($arraypage - 1) * $size, $size);
$this->meta_title = '渠道充值统计列表';
$this->assign('list_data', $data);
$this->assign("is_admin",is_administrator());
$this->display();
}
function promotepay_statistics_1($p = 0)
public function promotepay_statistics1($p = 0)
{
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
@ -669,84 +754,97 @@ class PlatformController extends ThinkController
$map1['promote_id'] = $map['promote_id'] = array('egt', 0);
$spend = M('Spend', 'tab_');
if (!empty($_REQUEST['timestart']) && !empty($_REQUEST['timeend'])) {
$map['create_time'] = ['between', array(strtotime($_REQUEST['timestart']), strtotime($_REQUEST['timeend']) + 86399)];
$pay_time = " between " . strtotime($_REQUEST['timestart']) . " and " . (strtotime($_REQUEST['timeend']) + 86399) . " ";
$map['pay_time'] = ['between', array(strtotime($_REQUEST['timestart']), strtotime($_REQUEST['timeend']) + 86399)];
unset($_REQUEST['timestart']);
unset($_REQUEST['timeend']);
} elseif (!empty($_REQUEST['timestart']) && empty($_REQUEST['timeend'])) {
$map['create_time'] = ['between', array(strtotime($_REQUEST['timestart']), time())];
$pay_time = " between " . strtotime($_REQUEST['timestart']) . " and " . time() . " ";
$map['pay_time'] = ['between', array(strtotime($_REQUEST['timestart']), time())];
unset($_REQUEST['timestart']);
} elseif (empty($_REQUEST['timestart']) && !empty($_REQUEST['timeend'])) {
$map['create_time'] = ['elt', strtotime($_REQUEST['timeend']) + 86399];
$pay_time = " between 0 and " . (strtotime($_REQUEST['timeend']) + 86399) . " ";
$map['pay_time'] = ['elt', strtotime($_REQUEST['timeend']) + 86399];
unset($_REQUEST['timeend']);
} else {
$pay_time = " between 0 and " . time();
$map['pay_time'] = ['between', array(0, time())];
// $pay_time = " between 0 and " . time();
}
$map1['pay_status'] = $map['pay_status'] = 1;
$today = total(1);
$week = total(2);
$mounth = total(3);
// $map1['pay_way'] = $map['pay_way'] = array('gt', 0);
$bindrecharge_data = M('bind_recharge', 'tab_')
->field('max(id) as id,promote_account,promote_id,create_time as ordertime,date_format(FROM_UNIXTIME(create_time),"%Y-%m-%d") AS time,
floor(sum(IF(create_time ' . $pay_time . ',real_amount,0))*100) as scount,
floor(sum(IF(create_time ' . $today . ',real_amount,0))*100) as today,
floor(sum(IF(create_time ' . $week . ',real_amount,0))*100) as week,
floor(sum(IF(create_time ' . $mounth . ',real_amount,0))*100) as mounth')
->where($map1)
->group('promote_id')
->select(false);
$deposit_data = M('deposit', 'tab_')
->field('max(id) as id,promote_account,promote_id,create_time as ordertime,date_format(FROM_UNIXTIME(create_time),"%Y-%m-%d") AS time,
floor(sum(IF(create_time ' . $pay_time . ',pay_amount,0))*100) as scount,
floor(sum(IF(create_time ' . $today . ',pay_amount,0))*100) as today,
floor(sum(IF(create_time ' . $week . ',pay_amount,0))*100) as week,
floor(sum(IF(create_time ' . $mounth . ',pay_amount,0))*100) as mounth')
->where($map1)
->group('promote_id')
->select(false);
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']);
unset( $map['create_time']);
//获取所有会长
$promote_map = "`chain` = '/'";
if (isset($_REQUEST['promote_id'])) {
$promote_map = "`chain` = '%/{$_REQUEST['promote_id']}/%' OR id = {$_REQUEST['promote_id']}";
}
//为数据权限添加
setPowerPromoteIds($map);
$promote_map2 = array();
setPowerPromoteIds($promote_map2, 'id');
$promote = M("promote","tab_")->field("id,account")->page($page,$row)->where($promote_map)->where($promote_map2)->select();
$pcount = M("promote","tab_")->field("count(*) acount")->where($promote_map)->where($promote_map2)->find()['acount'];
// var_dump( $promote);
$tweek = total(2,false);
$tmonth = total(3,false);
//获取最小
$tmin = 0;
if($tweek[1][0] < $tmonth[1][0]){
$tmin = $tweek[1][0];
}else{
$tmin = $tmonth[1][0];
}
$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'].",");
}
$data = $spend
->field('max(id) as id,promote_account,promote_id,pay_time as ordertime,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time,
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as scount,
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
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)
->group('promote_id')
->select(false);
} else {
$data = $spend
->field('max(id) as id,promote_account,promote_id,pay_time as ordertime,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time,
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as scount,
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week,
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth')
$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')
->where($map)
// ->union(' (' . $bindrecharge_data . ') ')
// ->union(' (' . $deposit_data . ') ')
->group('promote_id')
->select(false);
}
$promote_map = "tp1.`chain` = '/'";
if (isset($_REQUEST['promote_id'])) {
$promote_map = "tp1.`id` = {$_REQUEST['promote_id']}";
unset($_REQUEST['promote_id']);
->find();
$tmap = $map;
if(isset($map['pay_time'])){
$tmap['pay_time'] = ['between', array($tmin,$tmonth[1][1])];
}
$tdbdata = $spend
->field('
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
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($tmap)
->find();
$dbdata['today']= $tdbdata['today'];
$dbdata['week']= $tdbdata['week'];
$dbdata['mounth']= $tdbdata['mounth'];
$dbdata['promote_account'] = $promote[$i]['account'];
$dbdata['promote_id'] = $promote[$i]['id'];
$data[] = $dbdata;
}
$data = $spend->field('t.pid as promote_id,t.promote_account,sum(a.scount) AS count,sum(a.today) AS today,sum(a. WEEK) AS WEEK,sum(a.mounth) AS mounth')
->join("inner JOIN (SELECT tp2.*, tp1.id AS pid, tp1.account as promote_account FROM tab_promote tp1 LEFT JOIN tab_promote tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') where $promote_map ) AS t ON promote_id = t.id or promote_id = t.pid")
->where($condition)->table('(' . $data . ') as a')->group('t.pid')->order('count desc,a.ordertime')->select();
$count = count($data);
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;
@ -754,14 +852,8 @@ class PlatformController extends ThinkController
$data[$key]['today'] = $value['today'] / 100;
$data[$key]['week'] = $value['week'] / 100;
$data[$key]['mounth'] = $value['mounth'] / 100;
/* $adata=$this->day_data('Spend',array('promote_id'=>$value['promote_id']));
$data[$key]['today']=$adata['today']==''?0:$adata['today'];
$data[$key]['week']=$adata['week']==''?0:$adata['week'];
$data[$key]['mounth']=$adata['mounth']==''?0:$adata['mounth']; */
// if ($data[$key]['promote_id'] == '0') {
// unset($data[$key]);
// }
}
$total = $this->data_total($data);
$this->assign('total', $total);
if ($_REQUEST['data_order'] != '') {
@ -771,19 +863,20 @@ class PlatformController extends ThinkController
$this->assign('userarpu_order_type', $data_order_type);
}
$page = set_pagination($count, $row);
$page = set_pagination($pcount, $row);
if ($page) {
$this->assign('_page', $page);
}
$data = my_sort($data, $data_order_type, (int)$data_order);
$size = $row;//每页显示的记录数
$pnum = ceil(count($data) / $size); //总页数ceil()函数用于求大于数字的最小整数
//用array_slice(array,offset,length) 函数在数组中根据条件取出一段值;array(数组),offset(元素的开始位置),length(组的长度)
$data = array_slice($data, ($arraypage - 1) * $size, $size);
$this->meta_title = '渠道充值统计列表';
$this->assign('list_data', $data);
$this->assign("is_admin",is_administrator());
$this->display();
}
public function data_total($data)

@ -284,6 +284,9 @@ class PromoteController extends ThinkController
if ($this->accountExist($data['account'], $_POST['id'])) {
$this->error('该账号已存在');
}
if (empty(I('company_id'))) {
$this->error('请选择推广公司');
}
$pdata = D('Promote')->where($map1)->find();
if ($pdata) {

@ -10,7 +10,12 @@ use Admin\Event\BatchImportExcelEvent;
class ServerController extends ThinkController {
const model_name = 'Server';
public function lists(){
public function lists($p=0){
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
$arraypage = $page; //默认显示第一页数据
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
if(isset($_REQUEST['show_status'])){
$extend['show_status']=$_REQUEST['show_status'];
unset($_REQUEST['show_status']);
@ -50,11 +55,19 @@ class ServerController extends ThinkController {
$this->assign('show_status',1);
}
$this->m_title = '区服列表';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Server/lists','status'=>1])->find());
$this->m_title = '区服列表';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Server/lists','status'=>1])->find());
parent::order_lists(self::model_name,$_GET["p"],$extend);
$data = M("Server","tab_")->field("id,game_name,server_name,server_id,show_status,start_time,server_version,developers")->where($extend)->page($page,$row)->select();
foreach($data as $k=>&$v){
$v["start_time"] = set_show_time($v["start_time"]);
$v["server_version"] = get_systems_name($v["server_version"]);
}
$count = M("Server","tab_")->where($extend)->count("id");
$this->assign('list_data', $data);
$page = set_pagination($count,$row);
if($page) {$this->assign('_page', $page);}
$this->display();
}
public function add(){

@ -225,7 +225,7 @@ class ServerNoticeController extends ThinkController {
/**
/**
* 区服状态修改
* @author 鹿文学
*/
@ -252,6 +252,36 @@ class ServerNoticeController extends ThinkController {
$this->error($msg.'失败');
}
}
/***
* 获取区服列表
*/
public function getGameServer()
{
$game_name = $_REQUEST['game_name'];
$sdk_version = $_REQUEST['sdk_version'];
$game_map = [];
if ($game_name) {
$game_map['relation_game_name'] = $game_name;
}else {
$this->AjaxReturn([]);
}
if ($sdk_version) {
$map['server_version'] = $game_map['sdk_version'] = $sdk_version;
}else {
$this->AjaxReturn([]);
}
$game = M("Game", 'tab_')->where($game_map)->getField('id', true);
// 获取版本信息
$map = [];
if ($game) {
$map['game_id'] = ['in', $game];
} else {
$map['game_id'] = ['in', [-1]];
}
$data = M('ServerNotice', 'tab_')->field('id, server_name, server_id')->where($map)->group('server_name')->select();
$this->AjaxReturn($data);
}

@ -1035,15 +1035,17 @@ class StatisticsController extends ThinkController {
$map = " 1=1 ";
$game_map = "";
if (isset($_REQUEST['game_name'])) {
if (isset($_REQUEST['game_name']) && isset($_REQUEST['server_name'])) {
$game_ids = implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id'));
$map .= " AND game_id in ({$game_ids})";
$game_map = " AND EXISTS (SELECT upi.user_id FROM tab_user_play_info as upi where upi.game_id in ({$game_ids}) AND upi.user_id = u.id ";
if (isset($_REQUEST['server_name'])) $game_map .= " AND upi.server_name = '{$_REQUEST['server_name']}' ";
$game_map .= ") ";
}
if (isset($_REQUEST['server_name'])) {
$map .= " AND server_name = '{$_REQUEST['server_name']}' ";
} else if (isset($_REQUEST['game_name'])) {
$game_ids = implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id'));
$map .= " AND game_id in ({$game_ids})";
$game_map = " AND EXISTS (SELECT upi.user_id FROM tab_user_play as upi where upi.game_id in ({$game_ids}) AND upi.user_id = u.id ";
$game_map .= ") ";
}
// 获取包含的用户id
$users = M()->query("

@ -78,21 +78,21 @@
</select>
</div>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="promote_level" style="color:#444" class="select_gallery" id="promote_level">
<option value="">请选择推广员等级</option>
<option value="1" <?php if ($_POST['promote_level'] == 1):?>selected<?php endif;?>>会长</option>
<option value="2" <?php if ($_POST['promote_level'] == 2):?>selected<?php endif;?>>部门长</option>
<option value="3" <?php if ($_POST['promote_level'] == 3):?>selected<?php endif;?>>组长</option>
<option value="4" <?php if ($_POST['promote_level'] == 4):?>selected<?php endif;?>>组员</option>
</select>
-
</div>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="promote_id" style="color:#444" class="select_gallery" id="promote_id">
<option value="">请选择推广员</option>
</select>
</div>
<!-- <div class="input-list search_item input-list-gamenoticestatus">-->
<!-- <select name="promote_level" style="color:#444" class="select_gallery" id="promote_level">-->
<!-- <option value="">请选择推广员等级</option>-->
<!-- <option value="1" <?php if ($_POST['promote_level'] == 1):?>selected<?php endif;?>>会长</option>-->
<!-- <option value="2" <?php if ($_POST['promote_level'] == 2):?>selected<?php endif;?>>部门长</option>-->
<!-- <option value="3" <?php if ($_POST['promote_level'] == 3):?>selected<?php endif;?>>组长</option>-->
<!-- <option value="4" <?php if ($_POST['promote_level'] == 4):?>selected<?php endif;?>>组员</option>-->
<!-- </select>-->
<!-- - -->
<!-- </div>-->
<!-- <div class="input-list search_item input-list-gamenoticestatus">-->
<!-- <select name="promote_id" style="color:#444" class="select_gallery" id="promote_id">-->
<!-- <option value="">请选择推广员</option>-->
<!-- </select>-->
<!-- </div>-->
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">

@ -86,11 +86,11 @@
<div class="input-list">
<input type="text" readonly id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="开始时间"/>
placeholder="开始时间" autocomplete="off"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="结束时间"/>
placeholder="结束时间" autocomplete="off"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
@ -139,7 +139,7 @@
<notemtpy name = "data">
<volist name="data" id="data">
<tr>
<td ><if condition="$data.pay_type neq ''">{$data.pay_type}<else/></if></td>
<td ><if condition="$data.pay_type neq ''"><if condition="$data.pay_type eq '微信(扫码)'"> 微信<else/>{$data.pay_type}</if><else/></if></td>
<td ><if condition="$data.pay_amount neq ''">{$data.pay_amount}<else/></if></td>
<td ><if condition="$data.balance neq ''">{$data.balance}<else/>0</if></td>
<td ><if condition="$data.total neq ''">{$data.total}<else/>0</if></td>

@ -239,8 +239,8 @@
<td>{$all_count['all_count']}</td>
<td style="text-align: center;">
<a
href="{:U('FinancePromote/gameStatistics',array_merge(I('get.'),['promote_type'=>1]))}">游戏查看</a>
<a href="{:U('FinancePromote/promoteUser',I('get.'))}">渠道查看</a>
href="{:U('FinancePromote/gameStatistics',array_merge(I('get.'),['promote_type'=>1,'p'=>1]))}">游戏查看</a>
<a href="{:U('FinancePromote/promoteUser',array_merge(I('get.'),['p'=>1]))}">渠道查看</a>
</td>
</tr>
</tbody>

@ -62,30 +62,38 @@
<!-- </div>-->
<div class="input-list">
<input type="text" readonly id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="开始时间"/>
placeholder="开始时间" autocomplete="off"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="结束时间"/>
placeholder="结束时间" autocomplete="off"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="pay_way" name="pay_way" class="select_gallery" style="width:120px;">
<option value="">请选择支付渠道</option>
<option value="1">支付宝</option>
<option value="2">微信(扫码)</option>
<option value="3">微信app</option>
<option value="4">威富通</option>
<option value="5">聚宝云</option>
<option value="6">竣付通</option>
<option value="7">金猪</option>
<option value="9">双乾支付-支付宝</option>
<option value="10">双乾支付-银联</option>
<option value="15">双乾支付-快捷</option>
<option value="0">平台币</option>
<option value="-1">绑币</option>
<!-- <div class="input-list input-list-server search_label_rehab">-->
<!-- <select id="pay_way" name="pay_way" class="select_gallery" style="width:120px;">-->
<!-- <option value="">请选择支付渠道</option>-->
<!-- <option value="1">支付宝</option>-->
<!-- <option value="2">微信(扫码)</option>-->
<!-- <option value="3">微信app</option>-->
<!-- <option value="4">威富通</option>-->
<!-- <option value="5">聚宝云</option>-->
<!-- <option value="6">竣付通</option>-->
<!-- <option value="7">金猪</option>-->
<!-- <option value="9">双乾支付-支付宝</option>-->
<!-- <option value="10">双乾支付-银联</option>-->
<!-- <option value="15">双乾支付-快捷</option>-->
<!-- <option value="0">平台币</option>-->
<!-- <option value="-1">绑币</option>-->
<!-- </select>-->
<!-- </div>-->
<div class="input-list input-list-spend search_label_rehab">
<select id="pay_way_id" name="pay_way" class="select_gallery" style="width:120px;">
<option value="">充值方式</option>
<volist name=":cash_pay_way()" id="vo">
<option value="{$vo.key}">{$vo.value}</option>
</volist>
</select>
</div>

@ -71,7 +71,7 @@
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">支付渠道统计</h3>
<p class="description_text"></p>
<p class="description_text">说明平台币直充金额2019.12.18以前sdk新包数据及sdk旧包数据无法对应相关游戏无法计入以上平台币列表中<span style="color:red">充值方式统计</span>一栏统计<span style="color:red">平台币直充总金额</span></p>
<div class="fr">
<a class="tabchose" href="">游戏充值统计</a>
<a class="" href="{:U('Finance/payTypeStatistics')}">充值方式统计</a>
@ -107,10 +107,10 @@
</div>
<div class="input-list">
<input type="text" id="timestart" name="timestart" class="" value="{:I('timestart')}" placeholder="下单开始时间" />
<input type="text" id="timestart" name="timestart" class="" value="{:I('timestart')}" placeholder="下单开始时间" autocomplete="off"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="timeend" name="timeend" class="" value="{:I('timeend')}" placeholder="下单结束时间" />
<input type="text" id="timeend" name="timeend" class="" value="{:I('timeend')}" placeholder="下单结束时间" autocomplete="off"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
@ -176,36 +176,38 @@
</td>
</tr>
</volist>
<tr>
<td><span>超级签</span></td>
<td ><span><if condition="$superSignData.pay_amount neq ''">{$superSignData['pay_amount']}<else/>0</if></span></td>
<td>0</td>
<td><span><a href="{:U('PayChannel/testDetail',array_merge(array('model'=>'game_supersign','game_name'=>'超级签'),I('get.'),['p'=>1]))}" style="display:block;"><if condition="$superSignData.test_coin neq ''">{$superSignData.test_coin}<else/>0</if></a></span></td>
<td><if condition="$superSignData.pay_amount neq ''">{$superSignData['sum']}<else/>0</if></td>
<td>
<a href="{:U('SuperStatistical/index',array_merge(array('model'=>'game_supersign','game_name'=>'超级签'),I('get.'),['p'=>1]))}" >订单查看</a>
</td>
</tr>
<tr>
<td><span>官网</span></td>
<td >{$offcialData['pay_amount']}</td>
<td>0</td>
<td><a href="{:U('PayChannel/testDetail',array_merge(array('model'=>'deposit','game_name'=>'官网'),I('get.'),['p'=>1]))}" style="display:block;"><if condition="$offcialData.test_coin neq ''">{$offcialData.test_coin}<else/>0</if></a></td>
<td><if condition="$offcialData.pay_amount neq ''">{$offcialData['sum']}<else/>0</if></td>
<td>
<a href="{:U('PayChannel/gameDetail',array_merge(array('id'=>21,'model'=>'deposit','game_name'=>'官网'),I('get.'),['p'=>1]))}" >订单查看</a>
</td>
</tr>
<tr>
<td><span>推广后台</span></td>
<td ><span><if condition="$spreadData.pay_amount neq ''">{$spreadData['pay_amount']}<else/>0</if></span></td>
<td>0</td>
<td>0</td>
<td><if condition="$spreadData['pay_amount'] neq ''">{$spreadData['sum']}<else/>0</if></td>
<td>
<a href="{:U('PayChannel/gameDetail',array_merge(array('id'=>21,'model'=>'coin_pay_order','game_name'=>'推广后台'),I('get.'),['p'=>1]))}" >订单查看</a>
</td>
</tr>
<if condition="$_GET['game_id'] eq ''">
<tr>
<td><span>超级签</span></td>
<td ><span><if condition="$superSignData.pay_amount neq ''">{$superSignData['pay_amount']}<else/>0</if></span></td>
<td>0</td>
<td><span><a href="{:U('PayChannel/testDetail',array_merge(array('model'=>'game_supersign','game_name'=>'超级签'),I('get.'),['p'=>1]))}" style="display:block;"><if condition="$superSignData.test_coin neq ''">{$superSignData.test_coin}<else/>0</if></a></span></td>
<td><if condition="$superSignData.pay_amount neq ''">{$superSignData['sum']}<else/>0</if></td>
<td>
<a href="{:U('SuperStatistical/index',array_merge(array('model'=>'game_supersign','game_name'=>'超级签'),I('get.'),['p'=>1]))}" >订单查看</a>
</td>
</tr>
<tr>
<td><span>官网</span></td>
<td >0</td>
<td>{$offcialData['pay_amount']}</td>
<td><a href="{:U('PayChannel/testDetail',array_merge(array('model'=>'deposit','game_name'=>'官网'),I('get.'),['p'=>1]))}" style="display:block;"><if condition="$offcialData.test_coin neq ''">{$offcialData.test_coin}<else/>0</if></a></td>
<td><if condition="$offcialData.pay_amount neq ''">{$offcialData['sum']}<else/>0</if></td>
<td>
<a href="{:U('PayChannel/gameDetail',array_merge(array('id'=>21,'model'=>'deposit','game_name'=>'官网'),I('get.'),['p'=>1]))}" >订单查看</a>
</td>
</tr>
<tr>
<td><span>推广后台</span></td>
<td ><span>0</span></td>
<td>{$spreadData['pay_amount']}</td>
<td>0</td>
<td><if condition="$spreadData['pay_amount'] neq ''">{$spreadData['sum']}<else/>0</if></td>
<td>
<a href="{:U('PayChannel/gameDetail',array_merge(array('id'=>21,'model'=>'coin_pay_order','game_name'=>'推广后台'),I('get.'),['p'=>1]))}" >订单查看</a>
</td>
</tr>
</if>
<tr>
<td><span>汇总</span></td>
<td ><span><if condition="$sumData.pay_amount neq ''">{$sumData['pay_amount']}<else/>0</if></span></td>
@ -225,7 +227,7 @@
{$key}{$payTypeData} &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
</if>
</volist>
平台币直充金额<span style="color: red">(2019.12.18号以前的不显示在列表中,此项也不计入充值方式统计)</span><if condition="$coinSum neq ''">{$coinSum}<else/>0</if>
平台币直充金额<span style="color: red">(2019.12.18号以前的无法对应游戏记录不显示在列表中,此项也不计入充值方式统计)</span><if condition="$coinSum neq ''">{$coinSum}<else/>0</if>
</td>
</tr>
<tr>

@ -67,11 +67,11 @@
<!-- </div>-->
<div class="input-list">
<input type="text" readonly id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="开始时间"/>
placeholder="开始时间" autocomplete="off"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="结束时间"/>
placeholder="结束时间" autocomplete="off"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>

@ -88,21 +88,51 @@
<table>
<!-- 表头 -->
<thead>
<tr>
<!-- <th class="row-selected row-selected">
<input class="check-all" type="checkbox">
</th> -->
<!-- <tr>
<th >推广员账号</th>
<th ><a class="paixu" date-url='lzhuce'>累计充值</a></th>
<!-- <th ><a class="paixu" date-url='phb'>排行榜</a></th> -->
<th ><a class="paixu" date-url='phb'>排行榜</a></th>
<th ><a class="paixu" date-url='dzhuce'>今日充值</a></th>
<th ><a class="paixu" date-url='wzhuce'>本周充值</a></th>
<th ><a class="paixu" date-url='mzhuce'>本月充值</a></th>
</tr> -->
<tr>
<th >推广员账号</th>
<th ><a class="paixu" data-order='count'><if condition="$userarpu_order eq 4 and $userarpu_order_type eq 'count'">累计充值▲
<elseif condition="$userarpu_order eq 3 and $userarpu_order_type eq 'count'"/>累计充值▼
<else />累计充值<img src="__IMG__/up-down.png" width="13px">
</if></a></th>
<th ><a class="paixu" data-order='rand'><if condition="$userarpu_order eq 4 and $userarpu_order_type eq 'rand'">排行榜▲
<elseif condition="$userarpu_order eq 3 and $userarpu_order_type eq 'rand'"/>排行榜▼
<else />排行榜<img src="__IMG__/up-down.png" width="13px">
</if></a></th>
<th ><a class="paixu" data-order='today'>
<if condition="$userarpu_order eq 4 and $userarpu_order_type eq 'today'">今日充值▲
<elseif condition="$userarpu_order eq 3 and $userarpu_order_type eq 'today'"/>今日充值▼
<else />今日充值<img src="__IMG__/up-down.png" width="13px"></if>
</a></th>
<th ><a class="paixu" data-order='week'>
<if condition="$userarpu_order eq 4 and $userarpu_order_type eq 'week'">本周充值▲
<elseif condition="$userarpu_order eq 3 and $userarpu_order_type eq 'week'"/>本周充值▼
<else />本周充值<img src="__IMG__/up-down.png" width="13px">
</if>
</a></th>
<th ><a class="paixu" data-order='mounth'>
<if condition="$userarpu_order eq 4 and $userarpu_order_type eq 'mounth'">本月充值▲
<elseif condition="$userarpu_order eq 3 and $userarpu_order_type eq 'mounth'"/>本月充值▼
<else />本月充值<img src="__IMG__/up-down.png" width="13px"></if>
</a></th>
</tr>
</thead>
<!-- 列表 -->
@ -121,7 +151,7 @@
<tr>
<td >{$data['promote_account']}</td>
<td ><span class='ljcz' data-value="{$data['promote_id']}"><a>{$data.count}</a></span></td>
<!-- <td ><strong><if condition="$data.rand eq 1"><span>{$data.rand}</span><elseif condition="$data.rand eq 2"/><span>{$data.rand}</span><elseif condition="$data.rand eq 3"/><span>{$data.rand}</span><else/>{$data.rand}</if></strong></td> -->
<td ><strong><if condition="$data.rand eq 1"><span>{$data.rand}</span><elseif condition="$data.rand eq 2"/><span>{$data.rand}</span><elseif condition="$data.rand eq 3"/><span>{$data.rand}</span><else/>{$data.rand}</if></strong></td>
<td >{$data.today}</td>
<td >{$data.week}</td>
<td >{$data.mounth}</td>
@ -131,7 +161,7 @@
<tr class="data_summary">
<td><span>汇总</span></td>
<td ><span>{$total.sum_count}</span></td>
<!-- <td>---</td> -->
<td>---</td>
<td>{$total.sum_today}</td>
<td>{$total.sum_week}</td>
<td>{$total.sum_mounth}</td>
@ -142,9 +172,8 @@
</div>
<div class="page">
<if condition="$is_admin eq true ">
<a class="sch-btn" href="{:U('Export/promote_statistics',
array('timestart'=>$_GET['timestart'],'timeend'=>$_GET['timeend'],'type'=>1,'promote_id'=>$_GET['promote_id'],p=>$_GET['p'],'xlsname'=>'统计_推广员统计_推广员充值统计',)
,false)}">导出</a>
<a class="sch-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
{$_page|default=''}
</div>
@ -209,69 +238,85 @@
// });
// });
$(".paixu").click(function(){
$ddd=$(this).attr('date-url');
$lzhuce="{:I('lzhuce')}";
$phb = "{:I('phb')}";
$dzhuce = "{:I('dzhuce')}";
$wzhuce = "{:I('wzhuce')}";
$mzhuce = "{:I('mzhuce')}";
// $sss="{:I('group')}";
if($ddd=='lzhuce'){
if($lzhuce==1){
$(".sortBy").attr('name','lzhuce');
$(".sortBy").attr('value',2);
$("#search").click();
}else{
$(".sortBy").attr('name','lzhuce');
$(".sortBy").attr('value',1);
$("#search").click();
}
}
if($ddd=='phb'){
if($phb==1){
$(".sortBy").attr('name','phb');
$(".sortBy").attr('value',2);
$("#search").click();
}else{
$(".sortBy").attr('name','phb');
$(".sortBy").attr('value',1);
$("#search").click();
}
}
if($ddd=='dzhuce'){
if($dzhuce==1){
$(".sortBy").attr('name','dzhuce');
$(".sortBy").attr('value',2);
$("#search").click();
}else{
$(".sortBy").attr('name','dzhuce');
$(".sortBy").attr('value',1);
$("#search").click();
}
}
if($ddd=='wzhuce'){
if($wzhuce==1){
$(".sortBy").attr('name','wzhuce');
$(".sortBy").attr('value',2);
$("#search").click();
}else{
$(".sortBy").attr('name','wzhuce');
$(".sortBy").attr('value',1);
$("#search").click();
}
}
if($ddd=='mzhuce'){
if($mzhuce==1){
$(".sortBy").attr('name','mzhuce');
$(".sortBy").attr('value',2);
$("#search").click();
}else{
$(".sortBy").attr('name','mzhuce');
$(".sortBy").attr('value',1);
$("#search").click();
}
var that=$(this);
$data_order=that.attr('data-order');
$order_type='{$userarpu_order}';
if($order_type==''||$order_type=='4'){
$(".sortBy").attr('name','data_order');
val='3,'+$data_order;
$(".sortBy").attr('value',val);
$("#search").click();
}else if($order_type=='3'){
$(".sortBy").attr('name','data_order');
val='4,'+$data_order;
$(".sortBy").attr('value',val);
$("#search").click();
}
})
});
// $(".paixu").click(function(){
// $ddd=$(this).attr('date-url');
// $lzhuce="{:I('lzhuce')}";
// $phb = "{:I('phb')}";
// $dzhuce = "{:I('dzhuce')}";
// $wzhuce = "{:I('wzhuce')}";
// $mzhuce = "{:I('mzhuce')}";
// // $sss="{:I('group')}";
// if($ddd=='lzhuce'){
// if($lzhuce==1){
// $(".sortBy").attr('name','lzhuce');
// $(".sortBy").attr('value',2);
// $("#search").click();
// }else{
// $(".sortBy").attr('name','lzhuce');
// $(".sortBy").attr('value',1);
// $("#search").click();
// }
// }
// if($ddd=='phb'){
// if($phb==1){
// $(".sortBy").attr('name','phb');
// $(".sortBy").attr('value',2);
// $("#search").click();
// }else{
// $(".sortBy").attr('name','phb');
// $(".sortBy").attr('value',1);
// $("#search").click();
// }
// }
// if($ddd=='dzhuce'){
// if($dzhuce==1){
// $(".sortBy").attr('name','dzhuce');
// $(".sortBy").attr('value',2);
// $("#search").click();
// }else{
// $(".sortBy").attr('name','dzhuce');
// $(".sortBy").attr('value',1);
// $("#search").click();
// }
// }
// if($ddd=='wzhuce'){
// if($wzhuce==1){
// $(".sortBy").attr('name','wzhuce');
// $(".sortBy").attr('value',2);
// $("#search").click();
// }else{
// $(".sortBy").attr('name','wzhuce');
// $(".sortBy").attr('value',1);
// $("#search").click();
// }
// }
// if($ddd=='mzhuce'){
// if($mzhuce==1){
// $(".sortBy").attr('name','mzhuce');
// $(".sortBy").attr('value',2);
// $("#search").click();
// }else{
// $(".sortBy").attr('name','mzhuce');
// $(".sortBy").attr('value',1);
// $("#search").click();
// }
// }
// })
//点击排序
$('.list_sort').click(function(){
var url = $(this).attr('url');

@ -45,14 +45,14 @@
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<!-- 隐藏操作 -->
<!-- <div class="tools">
<empty name="show_status">
<a class=" " href="{:U('add?model='.$model['id'])}"><span class="button_icon button_icon1"></span>新增</a>
<a class=" " href="{:U('batch?model='.$model['id'])}"><span class="button_icon button_icon1"></span>批量添加</a>
</empty>
<a class=" ajax-post confirm " target-form="ids" url="{:U('del?model='.$model['id'])}"><span class="button_icon button_icon2"></span>删除</a>
</div>
</div> -->
</div>
<!-- 高级搜索 -->
@ -126,10 +126,11 @@
</th>
<th>游戏名称</th>
<th>区服名称</th>
<th>区服ID</th>
<th>运营平台</th>
<th>显示状态</th>
<th>开服时间</th>
<th>操作</th>
<!-- <th>操作</th> -->
</tr>
</thead>
@ -143,27 +144,28 @@
<td><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td >{$data.game_name}</td>
<td >{$data.server_name}</td>
<td >{:get_systems_name($data['server_version'])}</td>
<td >{$data.server_id}</td>
<td >{$data['server_version']}</td>
<td >
<div class="display_status">
<span class="display_butnbox">
<eq name='data.show_status' value='1'>
<a href="{:U('change_status',array('field'=>'show_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
<else/>
<a href="{:U('change_status',array('field'=>'show_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
</eq>
</span>
</div>
<span class="display_butnbox">
<eq name='data.show_status' value='1'>
<a href="{:U('change_status',array('field'=>'show_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
<else/>
<a href="{:U('change_status',array('field'=>'show_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
</eq>
</span>
</div>
</td>
<td >{:set_show_time($data['start_time'])}</td>
<td >
<td >{$data['start_time']}</td>
<!-- <td >
<a href="{:U('edit',array('model'=>$model['id'],'id'=>$data['id']))}">编辑</a>
<a class="ajax-get confirm " href="{:U('del',array('model'=>$model['id'],'ids'=>$data['id']))}">删除</a>
</td>
</td> -->
</tr>
</volist>
</empty>
@ -258,7 +260,7 @@ $(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('Server/lists')}');
highlight_subnav("{:U('Server/lists')}");
$(function(){
//搜索功能
$("#search").click(function(){

@ -334,7 +334,7 @@ $(function(){
var game_server = "{:I('server_name')}";
$("#game_name").change(function(){
$.ajax({
url:"{:U('Ajax/getGmeServer')}",
url:"{:U('getGameServer')}",
type:"post",
data:{sdk_version:$("#server_version option:selected").val(), game_name:$("#game_name option:selected").val()},
dataType:'json',

@ -83,7 +83,7 @@
<div class="input-list input-list-spend search_label_rehab">
<select id="pay_way_id" name="pay_way" class="select_gallery" style="width:120px;">
<option value="">充值方式</option>
<volist name=":all_pay_way(1)" id="vo">
<volist name=":all_pay_way_other(1)" id="vo">
<option value="{$vo.key}">{$vo.value}</option>
</volist>
</select>

@ -3233,15 +3233,20 @@ class DownloadController extends BaseController {
// ->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
->join('join tab_user as u on u.id = uc.user_id')
->where($map)
->group('uc.game_player_id,uc.server_id,uc.game_id')
->group('uc.game_player_id,uc.server_id,uc.game_id,uc.user_id')
->buildSql();
$roles = M()->alias('record')
->table($subQuery)
->select();
$total = M('spend','tab_')->alias('uc')
->field("$fieldS,$fieldToday as recharge_cost_today")
$total = M('spend', 'tab_')->alias('uc')
->field($fieldS)
->where($map)
->find();
$map['uc.pay_time'] = $spendMap['today.pay_time'];
$total['recharge_cost_today'] = M('spend', 'tab_')->alias('uc')
->field('sum(uc.pay_amount) as recharge_cost_today')
->where($map)
->find()['recharge_cost_today'];
$total['recharge_cost_today'] = empty($total['recharge_cost_today']) ? '0.00' :$total['recharge_cost_today'];
$csvFileName = $xlsName.'.csv';
//设置好告诉浏览器要下载excel文件的headers

@ -227,7 +227,7 @@ class HomeController extends Controller
}
// 调试
$isIOS = true;
// $isIOS = true;
$downloadUrl = '';
if (!$isNewIos && $isIOS13) {

@ -1873,9 +1873,14 @@ class QueryController extends BaseController
list($records, $pagination, $count) = $this->paginate($query);
$total = M('spend', 'tab_')->alias('s')
->field("$fieldS, $fieldToday as recharge_cost_today")
->field($fieldS)
->where($map)
->find();
$map['s.pay_time'] = $spendMap['today.pay_time'];
$total['recharge_cost_today'] = M('spend', 'tab_')->alias('s')
->field('sum(s.pay_amount) as recharge_cost_today')
->where($map)
->find()['recharge_cost_today'];
$total['recharge_cost_today'] = empty($total['recharge_cost_today']) ? '0.00' : $total['recharge_cost_today'];
if (!empty($records)) {

@ -5,7 +5,7 @@
<meta itemprop="image" content="{$game['icon']}"/>
<meta name="description" itemprop="description" content="{$game['features']}"/>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link href="{:get_cover(C('CH_SET_ICO'),'path')}" type="image/x-icon" rel="shortcut icon">
<script src="__JS__/jquery-1.11.3.min.js"></script>
@ -729,8 +729,7 @@ var PhoneObj = {
},
success: function (result) {
if (result.code == '0000') {
Cookies.set('is_landing_login', 1, { expires: 1 })
isLogin = true;
setLoginStatus()
$(".phone").hide();
showMounting()
} else {
@ -740,6 +739,13 @@ var PhoneObj = {
})
})
function setLoginStatus()
{
var expireTime = new Date(new Date().getTime() + 10 * 60 * 1000);
Cookies.set('is_landing_login', 1, { expires: expireTime })
isLogin = true;
}
function showMounting()
{
$('.mounting').show();
@ -784,8 +790,7 @@ var PhoneObj = {
cache: false,
success: function (result) {
if (result.code == '0000') {
Cookies.set('is_landing_login', 1, { expires: 1 })
isLogin = true;
setLoginStatus()
$('.login').hide();
showMounting()
} else {
@ -832,8 +837,7 @@ var PhoneObj = {
},
success: function (result) {
if (result.code == '0000') {
Cookies.set('is_landing_login', 1, { expires: 1 })
isLogin = true;
setLoginStatus()
$(".common").hide();
showMounting()
} else {

Loading…
Cancel
Save