diff --git a/Application/Admin/Controller/AjaxController.class.php b/Application/Admin/Controller/AjaxController.class.php
index 685ad3c6a..8db3fc557 100644
--- a/Application/Admin/Controller/AjaxController.class.php
+++ b/Application/Admin/Controller/AjaxController.class.php
@@ -103,7 +103,7 @@ class AjaxController extends ThinkController{
}
public function getUserPlayGameName($user_id=0){
- $map['user_id'] = $user_id;
+ $map['user_account'] = $user_id;
$data = M("UserPlay","tab_")->field("game_id,game_name,bind_balance")->where($map)->group('user_id,game_id')->select();
$this->AjaxReturn($data);
}
diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php
index 824276b35..9f99ad237 100644
--- a/Application/Admin/Controller/ExportController.class.php
+++ b/Application/Admin/Controller/ExportController.class.php
@@ -243,6 +243,7 @@ class ExportController extends Controller
$promoter_ids = D("Promote")->where("chain like '%/{$_REQUEST['promote_id']}/%' or id={$_REQUEST['promote_id']}")->field('id')->select();
if ($promoter_ids) {
$map['tab_user.promote_id'] = ['in', implode(',', array_column($promoter_ids, 'id'))];
+ $spendprom = " AND ss.promote_id IN (" . implode(',', array_column($promoter_ids, 'id')) . ") ";
}
}
}
@@ -259,24 +260,24 @@ class ExportController extends Controller
// unset($_REQUEST['promote_account']);
// }
if (isset($_REQUEST['register_way'])) {
- if($_REQUEST['type']==1) {
- if ($_GET['register_way'] == 1) {
- empty($hav) || $hav .= ' AND ';
- $hav .= ' tab_user.register_type in (0,1)';
- $maps['tab_user.register_type'] = ['in',[0,1]];
- } elseif($_GET['register_way'] == 7){
- empty($hav) || $hav .= ' AND ';
- $hav .= ' tab_user.register_type in(7)';
- $maps['tab_user.register_type'] = 7;
- }else {
- empty($hav) || $hav .= ' AND ';
- $hav .= ' tab_user.register_type in(2)';
- $maps['tab_user.register_type'] = 2;
- }
- } else {
- $map['register_way'] = I('register_way');
- unset($_REQUEST['register_way']);
- }
+ if($_REQUEST['type']==1) {
+ if ($_GET['register_way'] == 1) {
+ empty($hav) || $hav .= ' AND ';
+ $hav .= ' tab_user.register_type in (0,1)';
+ $maps['tab_user.register_type'] = ['in',[0,1]];
+ } elseif($_GET['register_way'] == 7){
+ empty($hav) || $hav .= ' AND ';
+ $hav .= ' tab_user.register_type in(7)';
+ $maps['tab_user.register_type'] = 7;
+ }else {
+ empty($hav) || $hav .= ' AND ';
+ $hav .= ' tab_user.register_type in(2)';
+ $maps['tab_user.register_type'] = 2;
+ }
+ } else {
+ $map['register_way'] = I('register_way');
+ unset($_REQUEST['register_way']);
+ }
}
if (isset($_REQUEST['register_type'])) {
$map['register_type'] = I('register_type');
@@ -301,16 +302,25 @@ class ExportController extends Controller
$order = 'id desc';
}
- if (isset($_REQUEST['viplevel'])) {
+ if (isset($_REQUEST['viplevel'])) {
- $havs = get_vip_level_limit('recharge_total',$_REQUEST['viplevel']);
- }
+ $havs = get_vip_level_limit('recharge_total',$_REQUEST['viplevel']);
+ }
- $map['puid'] = array('eq',0);
- $map['is_platform'] = 0;
- //数据
- $xlsData = M('user', 'tab_')->field('tab_user.id,tab_user.age_status,tab_user.account,tab_user.gold_coin,tab_user.alipay,tab_user.balance,tab_user.promote_account,register_time,tab_user.lock_status,tab_user.register_way,tab_user.register_type,tab_user.register_ip,tab_user.login_time,(IFNULL(sum(b.pay_amount),0) + IFNULL(sum(ss.pay_amount),0)) AS recharge_total')
- ->join('left join tab_deposit AS b ON tab_user.id = b.user_id AND b.pay_status = 1')
+ $map['puid'] = array('eq',0);
+ $map['is_platform'] = 0;
+ if($_REQUEST['promote_id'] && $_REQUEST['promote_id'] > -1){
+ $xlsData = M('user', 'tab_')->field('tab_user.id,tab_user.age_status,tab_user.account,tab_user.gold_coin,tab_user.alipay,tab_user.balance,tab_user.promote_account,register_time,tab_user.lock_status,tab_user.register_way,tab_user.register_type,tab_user.register_ip,tab_user.login_time,IFNULL(sum(ss.pay_amount),0) AS recharge_total')
+ ->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1'.$spendprom)
+ ->join($game_map ? "tab_user_play on tab_user_play.user_id = tab_user.id $game_map" : false)
+ ->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_play_map" : false)
+ ->where($map)
+ ->group('tab_user.id')
+ ->order($order)
+ ->having($havs)
+ ->select();
+ }else{
+ $xlsData = M('user', 'tab_')->field('tab_user.id,tab_user.age_status,tab_user.account,tab_user.gold_coin,tab_user.alipay,tab_user.balance,tab_user.promote_account,register_time,tab_user.lock_status,tab_user.register_way,tab_user.register_type,tab_user.register_ip,tab_user.login_time,IFNULL(sum(ss.pay_amount),0) AS recharge_total')
->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1')
->join($game_map ? "tab_user_play on tab_user_play.user_id = tab_user.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_play_map" : false)
@@ -319,38 +329,42 @@ class ExportController extends Controller
->order($order)
->having($havs)
->select();
- if($xlsData) {
- $ids = array_column($xlsData,'id');
- /* 在手里 */
- $small = M('user','tab_')->field('count(id) as count,puid')->where(['puid'=>array('in',$ids)])->group('puid')->select();
- /* 出售中 */
- $small2 = M('user','tab_')->field('count(id) as count,source_puid')->where(['source_puid'=>array('in',$ids),'source_time'=>0])->group('source_puid')->select();
-
- foreach($xlsData as $k => $v) {
-
-
- $xlsData[$k]['vip_level'] = get_vip_level($v['recharge_total']);
- if(empty($v['alipay'])){
- $xlsData[$k]['alipay'] = '--';
- }
-
- $xlsData[$k]['register_type'] = $v['register_type'] == 2?'手机号':($v['register_type']==7?'邮箱':'账号');
-
- $xlsData[$k]['small_count'] = 0;
- foreach($small as $s) {
- if($s['puid'] == $v['id']) {
- $xlsData[$k]['small_count'] += $s['count'];break;
- }
- }
- foreach($small2 as $s) {
- if($s['source_puid'] == $v['id']) {
- $xlsData[$k]['small_count'] += $s['count'];break;
- }
- }
+ }
+ //数据
+
+
+ if($xlsData) {
+ $ids = array_column($xlsData,'id');
+ /* 在手里 */
+ $small = M('user','tab_')->field('count(id) as count,puid')->where(['puid'=>array('in',$ids)])->group('puid')->select();
+ /* 出售中 */
+ $small2 = M('user','tab_')->field('count(id) as count,source_puid')->where(['source_puid'=>array('in',$ids),'source_time'=>0])->group('source_puid')->select();
- }
+ foreach($xlsData as $k => $v) {
- }
+
+ $xlsData[$k]['vip_level'] = get_vip_level($v['recharge_total']);
+ if(empty($v['alipay'])){
+ $xlsData[$k]['alipay'] = '--';
+ }
+
+ $xlsData[$k]['register_type'] = $v['register_type'] == 2?'手机号':($v['register_type']==7?'邮箱':'账号');
+
+ $xlsData[$k]['small_count'] = 0;
+ foreach($small as $s) {
+ if($s['puid'] == $v['id']) {
+ $xlsData[$k]['small_count'] += $s['count'];break;
+ }
+ }
+ foreach($small2 as $s) {
+ if($s['source_puid'] == $v['id']) {
+ $xlsData[$k]['small_count'] += $s['count'];break;
+ }
+ }
+
+ }
+
+ }
break;
case 4:
diff --git a/Application/Admin/Controller/MemberController.class.php b/Application/Admin/Controller/MemberController.class.php
index 3e09faff6..c8feca33f 100644
--- a/Application/Admin/Controller/MemberController.class.php
+++ b/Application/Admin/Controller/MemberController.class.php
@@ -26,6 +26,7 @@ class MemberController extends ThinkController
if ($promoter_ids) {
$maps['tab_user.promote_id'] = ['in', implode(',', array_column($promoter_ids, 'id'))];
$hav .= "tab_user.promote_id in (" . implode(',', array_column($promoter_ids, 'id')) . ") ";
+ $spendprom = " AND ss.promote_id IN (" . implode(',', array_column($promoter_ids, 'id')) . ") ";
}
}
}
@@ -176,7 +177,28 @@ class MemberController extends ThinkController
// ->order($order)
->select(false);
- $data = $usermodel->table('(' . $sql1 . ') as a ')->field('a.id,a.device_number,a.age_status,a.account,a.balance,a.gold_coin,a.alipay,a.promote_id,a.register_type,a.promote_account,a.register_time,a.lock_status,a.register_way,a.register_type,a.register_ip,a.login_time,(a.deposit_total+IFNULL(sum(ss.pay_amount),0)) as recharge_total,check_status')
+ // $data = $usermodel->table('(' . $sql1 . ') as a ')->field('a.id,a.device_number,a.age_status,a.account,a.balance,a.gold_coin,a.alipay,a.promote_id,a.register_type,a.promote_account,a.register_time,a.lock_status,a.register_way,a.register_type,a.register_ip,a.login_time,IFNULL(sum(ss.pay_amount),0) as recharge_total,check_status')
+ // ->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1')
+ // ->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
+ // ->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
+ // ->page($page, $row)
+ // ->having($havs)
+ // ->group('a.id')
+ // ->order($order)
+ // ->select();
+ if($_REQUEST['promote_id'] && $_REQUEST['promote_id'] > -1){
+ $data = $usermodel->table('(' . $sql1 . ') as a ')->field('a.id,a.device_number,a.age_status,a.account,a.balance,a.gold_coin,a.alipay,a.promote_id,a.register_type,a.promote_account,a.register_time,a.lock_status,a.register_way,a.register_type,a.register_ip,a.login_time,IFNULL(sum(ss.pay_amount),0) as recharge_total,check_status')
+ ->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1'.$spendprom)
+ ->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
+ ->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
+ ->page($page, $row)
+ ->having($havs)
+ ->group('a.id')
+ ->order($order)
+ ->select();
+ // echo $data;die();
+ }else{
+ $data = $usermodel->table('(' . $sql1 . ') as a ')->field('a.id,a.device_number,a.age_status,a.account,a.balance,a.gold_coin,a.alipay,a.promote_id,a.register_type,a.promote_account,a.register_time,a.lock_status,a.register_way,a.register_type,a.register_ip,a.login_time,IFNULL(sum(ss.pay_amount),0) as recharge_total,check_status')
->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1')
->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
@@ -185,10 +207,11 @@ class MemberController extends ThinkController
->group('a.id')
->order($order)
->select();
+ }
+
//计数
- $sql = M('user', 'tab_')->field('tab_user.id,(IFNULL(sum(b.pay_amount),0) + IFNULL(sum(ss.pay_amount),0)) AS recharge_total')
- ->join('left join tab_deposit AS b ON tab_user.id = b.user_id AND b.pay_status = 1')
+ $sql = M('user', 'tab_')->field('tab_user.id,IFNULL(sum(ss.pay_amount),0) AS recharge_total')
->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1')
->join($game_map ? "tab_user_play on tab_user_play.user_id = tab_user.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_play_map" : false)
@@ -196,8 +219,22 @@ class MemberController extends ThinkController
->group('tab_user.id')
->where($hav)
->having($havs)->select(false);
- $jcount = M('User', 'tab_')->field('count(a.id) as count')->table('(' . $sql . ') as a')->select();
+ //替换为新表
+ if($_REQUEST['promote_id'] && $_REQUEST['promote_id'] > -1){
+ $sql = M('user', 'tab_')->field('tab_user.id,IFNULL(sum(ss.pay_amount),0) AS recharge_total')
+ ->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1'.$spendprom)
+ ->join($game_map ? "tab_user_play on tab_user_play.user_id = tab_user.id $game_map" : false)
+ ->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_play_map" : false)
+ ->where($map)
+ ->group('tab_user.id')
+ ->where($hav)
+ ->having($havs)->select(false);
+ }
+
+ $jcount = M('User', 'tab_')->field('count(a.id) as count,sum(a.recharge_total) recharge_total')->table('(' . $sql . ') as a')->select();
$count = $jcount[0]['count'];
+ // var_dump($jcount);die();
+ $this->assign('pay_allcount', $jcount[0]['recharge_total']);
$model = M('Model')->getByName('user');
@@ -790,12 +827,16 @@ class MemberController extends ThinkController
* @param $id
* @param $lock_status
*/
- public function lock_status($id, $lock_status)
+ public function lock_status($id="", $lock_status, $accounts = "")
{
- $map['id'] = ['in', array_unique(explode(',', $id))];
+ if ($accounts) $map['account'] = ['in', array_unique(explode(',', $accounts))];
+ if ($id) $map['id'] = ['in', array_unique(explode(',', $id))];
+ $users = M('user', 'tab_')->where($map)->field('id')->select();
$res = M('user', 'tab_')->where($map)->setField(['lock_status' => $lock_status]);
if ($res) {
- \Think\Log::actionLog('Member/lock_status', 'Member', $id);
+ foreach ($users as $item) {
+ \Think\Log::actionLog('Member/lock_status', 'Member', $item['id']);
+ }
$this->success('操作成功!');
} else {
$this->error('操作失败!');
diff --git a/Application/Admin/Controller/PlatformController.class.php b/Application/Admin/Controller/PlatformController.class.php
index 965da8b24..79f09c30b 100644
--- a/Application/Admin/Controller/PlatformController.class.php
+++ b/Application/Admin/Controller/PlatformController.class.php
@@ -387,6 +387,28 @@ class PlatformController extends ThinkController
->group('tp1.id')
->order('count desc, register_time')
->select();
+ unset($map['tp1.id']);
+ unset($map['tp1.chain']);
+ $map['promote_id'] = 0;
+ //官方渠道数据添加
+ $authorityData = M('user', 'tab_')->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')
+ ->where($map)
+ ->find();
+ $authorityData['promote_account'] = "官方渠道";
+ $authorityData['id'] = "1";
+ if (isset($_REQUEST['promote_id'])||$authorityData['count']==0) {
+ $authorityData = [];
+ } else {
+ array_push($data, $authorityData);
+ }
+
+ //数据排序
+ $last_names = array_column($data,'count');
+ array_multisort($last_names,SORT_DESC,$data);
+
$count = count($data);
foreach ($data as $key => $value) {
static $i = 0;
diff --git a/Application/Admin/View/DeductBindRecord/deductBindBalance.html b/Application/Admin/View/DeductBindRecord/deductBindBalance.html
index f426a7086..c6a001e74 100644
--- a/Application/Admin/View/DeductBindRecord/deductBindBalance.html
+++ b/Application/Admin/View/DeductBindRecord/deductBindBalance.html
@@ -49,12 +49,13 @@
玩家账号: |
-
+
+
+
+
+
+
+
|
@@ -144,7 +145,7 @@ $(function(){
//$(".balance").text($('#user_id option:selected').attr('coin-balance')+'平台币');
$('#user_id').change(function(){
//$(".balance").text($('#user_id option:selected').attr('coin-balance')+'平台币');
- var user_id = $('#user_id option:selected').attr('value');
+ var user_id = $('#user_id').val();
if(this.value !="请选择账号"){
getUserPlayGameName(user_id);
diff --git a/Application/Admin/View/Member/user_info.html b/Application/Admin/View/Member/user_info.html
index 4e2a714fb..83d7b0812 100644
--- a/Application/Admin/View/Member/user_info.html
+++ b/Application/Admin/View/Member/user_info.html
@@ -239,7 +239,7 @@
- |
+ |
{$data.id} |
{:get_registertype($data['register_type'])} |
@@ -304,6 +304,13 @@
+
+ 汇总: |
+
+ 累计充值:{$pay_allcount}
+ |
+ |
+
@@ -490,8 +497,8 @@ $(function(){
layer.prompt({
formType: 2,
value: text,
- placeholder : '账户ID(英文逗号隔开)',
- title: '请输入要'+desc+'的账户ID(英文逗号隔开)',
+ placeholder : '玩家账号(英文逗号隔开)',
+ title: '请输入要'+desc+'的玩家账号(英文逗号隔开)',
area: ['800px', '350px'] //自定义文本域宽高
}, function(value, index, elem){
if(value=='') {
@@ -503,7 +510,7 @@ $(function(){
cache: true,
type: "POST",
url:"{:U('Member/lock_status')}",
- data:{id:value, lock_status:status},// 你的formid
+ data:{accounts:value, lock_status:status},// 你的formid
async: false,
error: function(data) {
layer.alert("服务器故障,请稍后重试!",{icon: 2});
diff --git a/Application/Admin/View/Platform/promote_statistics.html b/Application/Admin/View/Platform/promote_statistics.html
index 597ab3889..f531e3b71 100644
--- a/Application/Admin/View/Platform/promote_statistics.html
+++ b/Application/Admin/View/Platform/promote_statistics.html
@@ -216,20 +216,20 @@ $(function(){
$("#search").click();
}
});
- $(".ljzc").click(function(){
- var id = $(this).attr('data-value');
- var game_name = "{:I('game_name')}";
- var server_name = "{:I('server_id')}";
- var urlr = window.location.host;
- layer.open({
- type: 2,
- title: '注册记录',
- shadeClose: true,
- shade: 0.8,
- area: ['70%', '80%'],
- content: '/admin.php?s=/Platform/zhuce_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
- });
- });
+ // $(".ljzc").click(function(){
+ // var id = $(this).attr('data-value');
+ // var game_name = "{:I('game_name')}";
+ // var server_name = "{:I('server_id')}";
+ // var urlr = window.location.host;
+ // layer.open({
+ // type: 2,
+ // title: '注册记录',
+ // shadeClose: true,
+ // shade: 0.8,
+ // area: ['70%', '80%'],
+ // content: '/admin.php?s=/Platform/zhuce_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
+ // });
+ // });
$(".paixu").click(function(){
var that=$(this);
$data_order=that.attr('data-order');
diff --git a/Application/Admin/View/Platform/promotepay_statistics.html b/Application/Admin/View/Platform/promotepay_statistics.html
index a6dfd38e3..b6ab050e3 100644
--- a/Application/Admin/View/Platform/promotepay_statistics.html
+++ b/Application/Admin/View/Platform/promotepay_statistics.html
@@ -193,19 +193,19 @@ $(function(){
$("#search").click();
}
});
- $(".ljcz").click(function(){
- var id = $(this).attr('data-value');
- var game_name = "{:I('game_name')}";
- var server_name = "{:I('server_id')}";
- layer.open({
- type: 2,
- title: '游戏消费记录',
- shadeClose: true,
- shade: 0.8,
- area: ['70%', '80%'],
- content: 'admin.php?s=/Platform/chongzhi_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
- });
- });
+ // $(".ljcz").click(function(){
+ // var id = $(this).attr('data-value');
+ // var game_name = "{:I('game_name')}";
+ // var server_name = "{:I('server_id')}";
+ // layer.open({
+ // type: 2,
+ // title: '游戏消费记录',
+ // shadeClose: true,
+ // shade: 0.8,
+ // area: ['70%', '80%'],
+ // content: 'admin.php?s=/Platform/chongzhi_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
+ // });
+ // });
$(".paixu").click(function(){
$ddd=$(this).attr('date-url');
$lzhuce="{:I('lzhuce')}";
diff --git a/Application/Base/Repository/UserRepository.class.php b/Application/Base/Repository/UserRepository.class.php
index e3ad78ade..2598a165f 100644
--- a/Application/Base/Repository/UserRepository.class.php
+++ b/Application/Base/Repository/UserRepository.class.php
@@ -135,7 +135,7 @@ class UserRepository
$conditions = $this->getDayGroupConditions($params);
$subQuery = M('login_daily_record', 'tab_')->field('FROM_UNIXTIME(create_time, "%Y-%m-%d") as day,count(DISTINCT user_id) as count')
->where($conditions)
- ->group('game_id')
+ ->group('day,game_id')
->buildSql();
$items = M()->field('*,sum(count) as count')
->table($subQuery)
@@ -301,7 +301,7 @@ class UserRepository
$subQuery = M('user_play_info', 'tab_')->field('FROM_UNIXTIME(create_time, "%Y-%m-%d") as day,count(DISTINCT user_id) as count')
->where($conditions)
- ->group('game_id')
+ ->group('day,game_id')
->buildSql();
$items = M()->field('*,sum(count) as count')
->table($subQuery)
@@ -358,7 +358,7 @@ class UserRepository
->count();
$subQuery = $model->field('FROM_UNIXTIME(create_time, "%Y-%m-%d") as day,count(DISTINCT user_id) as count')
->where($conditions)
- ->group('game_id')
+ ->group('day,game_id')
->buildSql();
$items = M()->field("*,sum(count) as count,(" . $sql . ") as num")
->table($subQuery)
@@ -427,7 +427,7 @@ class UserRepository
->count();
$subQuery = $model->field('FROM_UNIXTIME(create_time, "%Y-%m-%d") as day,count(DISTINCT create_device_number) as count')
->where($conditions)
- ->group('game_id')
+ ->group('day,game_id')
->buildSql();
$items = M()->field("*,sum(count) as count,(" . $sql . ") as num")
->table($subQuery)
@@ -496,7 +496,7 @@ class UserRepository
->count();
$subQuery = $model->field('FROM_UNIXTIME(create_time, "%Y-%m-%d") as day,count(DISTINCT create_ip) as count')
->where($conditions)
- ->group('game_id')
+ ->group('day,game_id')
->buildSql();
$items = M()->field("*,sum(count) as count,(" . $sql . ") as num")
->table($subQuery)
diff --git a/Application/Home/Controller/DownloadController.class.php b/Application/Home/Controller/DownloadController.class.php
index d1c70c4c4..dac68565b 100644
--- a/Application/Home/Controller/DownloadController.class.php
+++ b/Application/Home/Controller/DownloadController.class.php
@@ -412,17 +412,21 @@ class DownloadController extends BaseController {
$initEndTime = empty(I('endtime')) ? $initEndTime : I('endtime');
$begTime = strtotime($initBegTime);
$endTime = strtotime($initEndTime);
-
+ $gameId = intval(I('game_id', 0));
+ $status = intval(I('status', 0));
$map['chain'] = ['like', $this->loginPromote['chain'] . $this->loginPromote['id'] . '/%'];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$ids[] = $this->loginPromote['id'];
$ids = implode(',', $ids);
$map = [];
$map['promote_id'] = ['in', $ids];
+ $map['pay_status'] = 1;
if (!empty($payOrderNumber)) {
$map['pay_order_number'] = $payOrderNumber;
}
-
+ if (!empty($gameId)) {
+ $map['game_id'] = $gameId;
+ }
if (!empty($begTime) && empty($endTime)) {
$map['pay_time'] = ['egt', $begTime];
} elseif (empty($begTime) && !empty($endTime)) {
@@ -430,6 +434,22 @@ class DownloadController extends BaseController {
} elseif (!empty($begTime) && !empty($endTime)) {
$map['pay_time'] = ['between', [$begTime, $endTime + 86399]];
}
+
+ if (isset($_GET['status'])) {
+ if ($status == -2) {
+ $map['selle_status'] = 0;
+ } else {
+ $withdrawMap['promote_id'] = $this->loginPromote['id'];
+ $withdrawMap['status'] = $status;
+ $withdrawIds = M('withdraw', 'tab_')->where($withdrawMap)->getField('id', true);
+
+ if (empty($withdrawIds)) {
+ $map = '1 = 2';
+ } else {
+ $map['withdraw_id'] = ['in', $withdrawIds];
+ }
+ }
+ }
$conditions = json_encode($map,TRUE);
$addtime = time();
$data = [
@@ -1835,7 +1855,7 @@ class DownloadController extends BaseController {
$begTime = strtotime($initBegTime);
$endTime = strtotime($initEndTime);
$params['begin_time'] = $begTime;
- $params['end_time'] = $endTime;
+ $params['end_time'] = $endTime -1;
if(!empty($map['apply_time'][1])) {
$begTime = $map['apply_time'][1][0];
$endTime = $map['apply_time'][1][1];
@@ -2439,7 +2459,7 @@ class DownloadController extends BaseController {
array('income','收益'),
array('pay_time','充值时间'),
array('selle_status','订单状态'),
- );
+ );
$model = M('spend', 'tab_');
$data = $model->field('pay_order_number,game_name,user_account,promote_account,pay_amount,pay_way,if(selle_ratio >= 0,selle_ratio,0) as selle_ratio,pay_time,selle_status,pay_status,withdraw_id')
->where($map)
@@ -2540,23 +2560,23 @@ class DownloadController extends BaseController {
}
public function dailysummaryExcelInfo($id,$map) {
- $xlsName = "每日概况";
- $xlsCell = array(
+ $xlsName = "每日概况";
+ $xlsCell = array(
array('day','日期'),
- array('role_num','创角数'),
- array('user_num','创角用户'),
+ array('role_num','创角数'),
+ array('user_num','创角用户'),
array('new_user_num','新创角用户'),
array('new_device_num','新创角设备'),
- array('new_ip_num','新增创角IP'),
- array('login_user_num','登陆用户数'),
- array('spend_user_num','充值人数'),
- array('spend_num','充值次数'),
- array('spend_all_amount','充值总额'),
- array('spend_cash','现金充值'),
- array('spend_generic','通用币充值'),
- array('spend_binding','绑定币充值'),
- array('spend_discount','折扣币充值'),
- array('spend_voucher','代金劵使用'),
+ array('new_ip_num','新增创角IP'),
+ array('login_user_num','登陆用户数'),
+ array('spend_user_num','充值人数'),
+ array('spend_num','充值次数'),
+ array('spend_all_amount','充值总额'),
+ array('spend_cash','现金充值'),
+ array('spend_generic','通用币充值'),
+ array('spend_binding','绑定币充值'),
+ array('spend_discount','折扣币充值'),
+ array('spend_voucher','代金劵使用'),
);
$nowTime = date('Y-m-d');
@@ -2583,7 +2603,7 @@ class DownloadController extends BaseController {
if(!empty($map['end_time'])) {
$params['end_time'] = $map['end_time'];
}else {
- $params['begin_time'] = $endTime;
+ $params['begin_time'] = $endTime - 1;
}
$params['dayList'] = $map["dayList"];
$summaryData = [];
diff --git a/Application/Home/Controller/FinanceController.class.php b/Application/Home/Controller/FinanceController.class.php
index 605c26ad4..f8b4e8ceb 100644
--- a/Application/Home/Controller/FinanceController.class.php
+++ b/Application/Home/Controller/FinanceController.class.php
@@ -15,6 +15,7 @@ class FinanceController extends BaseController
{
//提现状态
public static $withdrawStatus = [
+ -2 => '已撤销',
-1 => '审核未通过',
0 => '待审核',
1 => '汇款中',
@@ -200,7 +201,7 @@ class FinanceController extends BaseController
$map['pay_order_number'] = $payOrderNumber;
}
if (isset($_GET['status'])) {
- if ($status == -2) {
+ if ($status == -99) {
$map['selle_status'] = 0;
} else {
$withdrawMap['promote_id'] = $this->loginPromote['id'];
@@ -277,8 +278,7 @@ class FinanceController extends BaseController
//是否是会长
$this->purview();
//验证安全密码
- $metaTitle = '结算明细';
- $modelList = ['财务管理', $metaTitle];
+ $modelList = [];
$res = $this->verifyPasswordView($modelList, false);
if ($res == false) {
$data['status'] = 0;
@@ -329,6 +329,7 @@ class FinanceController extends BaseController
$add['status'] = 0;
$add['widthdraw_number'] = $this->produceWithdrawNumber();
$add['settlement_end_time'] = $thisDay - 1;
+ $add['spend_ids'] = '';
M()->startTrans();//开启事物
$withdrawId = M('withdraw', 'tab_')->add($add);
@@ -399,11 +400,9 @@ class FinanceController extends BaseController
}
if (isset($_GET['status']) && $_GET['status'] !== '') {
$status = intval($_GET['status']);
- if (!isset(FinanceController::$withdrawStatus[$status])) {
- $this->error('参数异常');
+ if (isset(FinanceController::$withdrawStatus[$status])) {
+ $map['status'] = $status;
}
-
- $map['status'] = $status;
}
$data = $model->field('id,widthdraw_number,create_time,settlement_end_time,sum_money,status,respond,transfer_proof')
@@ -420,8 +419,15 @@ class FinanceController extends BaseController
$list['create_time'] = date('Y-m-d H:i:s', $list['create_time']);
$list['settlement_end_time'] = date('Y-m-d H:i:s', $list['settlement_end_time']);
$list['status_name'] = FinanceController::$withdrawStatus[$list['status']];
- if ($list['status'] == -1) {
- $list['status_name'] = '' . $list['status_name'] . '';
+ switch ($list['status']) {
+ case -2:
+ $list['status_name'] = '' . $list['status_name'] . '';
+ break;
+ case -1:
+ $list['status_name'] = '' . $list['status_name'] . '';
+ break;
+ default:
+ break;
}
}
}
@@ -572,8 +578,7 @@ class FinanceController extends BaseController
//是否是会长
$this->purview();
//验证安全密码
- $metaTitle = '结算明细';
- $modelList = ['财务管理', $metaTitle];
+ $modelList = [];
$res = $this->verifyPasswordView($modelList, false);
if ($res == false) {
$data['status'] = 0;
@@ -606,4 +611,69 @@ class FinanceController extends BaseController
}
$this->ajaxReturn($data);
}
+
+ //撤销提现
+ public function cancelWithdraw()
+ {
+ //是否是会长
+ $this->purview();
+ //验证安全密码
+ $modelList = [];
+ $res = $this->verifyPasswordView($modelList, false);
+ if ($res == false) {
+ $data['status'] = 0;
+ $data['msg'] = '权限异常';
+ $this->ajaxReturn($data);
+ }
+
+ $id = intval(I('id', 0));
+ $data = M('withdraw', 'tab_')->find($id);
+ if (empty($data) || !in_array($data['status'], [-1, 0])) {
+ $data['status'] = 0;
+ $data['msg'] = '数据异常';
+ $this->ajaxReturn($data);
+ }
+ if ($data['promote_id'] != $this->loginPromote['id']) {
+ $data['status'] = 0;
+ $data['msg'] = '权限异常';
+ $this->ajaxReturn($data);
+ }
+
+ $spendMap['withdraw_id'] = $id;
+ $spendIds = M('Spend', 'tab_')->where($spendMap)->getField('id', true);
+ if (empty($spendIds)) {
+ $data['status'] = 0;
+ $data['msg'] = '数据异常';
+ $this->ajaxReturn($data);
+ }
+ $spendIds = implode(',', $spendIds);
+ $time = time();
+ $withdrawSave['id'] = $id;
+ $withdrawSave['status'] = -2;
+ $withdrawSave['spend_ids'] = $spendIds;
+ $withdrawSave['last_up_update_time'] = $time;
+
+ M('withdraw', 'tab_')->startTrans();//开启事物
+ $withdrawRes = M('withdraw', 'tab_')->save($withdrawSave);
+ if ($withdrawRes === false) {
+ M('withdraw', 'tab_')->rollback();//事物回滚
+ $data['status'] = 0;
+ $data['msg'] = '撤销失败';
+ $this->ajaxReturn($data);
+ }
+
+ $spendSave['selle_status'] = 0;
+ $spendSave['withdraw_id'] = 0;
+ $spendRes = M('spend', 'tab_')->where($spendMap)->save($spendSave);
+ if ($spendRes === false) {
+ M('withdraw', 'tab_')->rollback();//事物回滚
+ $data['status'] = 0;
+ $data['msg'] = '撤销失败';
+ } else {
+ M('withdraw', 'tab_')->commit();//事物提交
+ $data['status'] = 1;
+ $data['msg'] = '撤销成功';
+ }
+ $this->ajaxReturn($data);
+ }
}
\ No newline at end of file
diff --git a/Application/Home/Controller/QueryController.class.php b/Application/Home/Controller/QueryController.class.php
index be50a7529..c4d6fa044 100644
--- a/Application/Home/Controller/QueryController.class.php
+++ b/Application/Home/Controller/QueryController.class.php
@@ -1066,7 +1066,7 @@ class QueryController extends BaseController
$params['server_id'] = $serverId;
}
$params['begin_time'] = $begTime;
- $params['end_time'] = $endTime;
+ $params['end_time'] = $endTime - 1;
$summaryData = [];
$dayList = $this->getDayList($begTime, $endTime);
@@ -1227,7 +1227,7 @@ class QueryController extends BaseController
}
$params['begin_time'] = $begTime;
- $params['end_time'] = $endTime;
+ $params['end_time'] = $endTime - 1;
$data = M('Apply', 'tab_')->alias('a')
->field('a.game_id,a.game_name,a.sdk_version')
diff --git a/Application/Home/View/default/Finance/settlementDtl.html b/Application/Home/View/default/Finance/settlementDtl.html
index 2cbb07ea2..aefcaf46a 100644
--- a/Application/Home/View/default/Finance/settlementDtl.html
+++ b/Application/Home/View/default/Finance/settlementDtl.html
@@ -103,8 +103,8 @@
+
+
@@ -177,6 +181,9 @@
重新审核
结算单
+
+ 撤销提现
+
@@ -293,6 +300,35 @@
}
});
});
+
+ $('.cancel-withdraw').click(function () {
+ var id = parseInt($(this).attr('data-id'));
+ var msg = "确定要撤销提现吗?";
+ layer.confirm(msg, {
+ title: '提示',
+ btn: ['确定', '取消'],
+ }, function () {
+ $.ajax({
+ type: 'post',
+ url: '{:U("cancelWithdraw")}',
+ dataType: 'json',
+ data: {id:id},
+ success: function (data) {
+ if (data.status == 1) {
+ layer.msg(data.msg, {icon: 1});
+ setTimeout(function(){
+ window.location.reload();
+ },2000);
+ } else {
+ layer.msg(data.msg, {icon: 5});
+ }
+ },
+ error: function (result) {
+ layer.msg('网络异常', {icon: 5});
+ }
+ });
+ });
+ });
});
diff --git a/Application/Home/View/default/Home/landingPage.html b/Application/Home/View/default/Home/landingPage.html
index ee34e36d6..abebc7b7d 100644
--- a/Application/Home/View/default/Home/landingPage.html
+++ b/Application/Home/View/default/Home/landingPage.html
@@ -1,294 +1,133 @@
-
-
-
-
-
-
-
-
-
-
home
+
+
+
+
+
+
+
+
+
+
{$game['relation_game_name']}
+
+
+
+
-
-
-
-
-

-
-
{$game['relation_game_name']}
-
{$game['features']}
-
-
-
免费安装
-
-
免费安装
-
-

-
-
-
-
-
-
-
{$game['game_score']}
-
-
-
14.48K个评分
-
-
-
#{$game['recommend_level']}
-
网络游戏
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
简介
-
{$game['features']}
-
-
-
-
评分及评论
-
-
- {$game['game_score']}
- 满分5分
-
-
-
-
-
-
-
-

-

-
-
-
-
-
-

-
-
-
-
14.48K个评分
-
-
-
-
-
新功能
-
更新说明:
-
1、优化用户体验
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
购买至尊下载,赠送限量至尊超级礼包(价值100元)
-
• 至尊下载:永不闪退、不丢数据稳定有保障
-
• 同一设备安装一次可在一年内无限次下载重装
-
¥10至尊下载
-
普通下载
-
+
+
+
+
+
+
+
+
+
-
-
-
升级IOS9后,游戏打不开怎么办
-
-
-
-
-
-
一、游戏安装完毕,点击游戏图标弹出如下提示:
-
-

-

-
-
-
-
-
-
二、进入[设置] - [通用] - [描述文件]:找到对应证书名称
-
-

-

-
-
-
-
-
-
三、信任当前证书
-
-

-

-
-
-
-
-
-
四、下载过程中若出现以下情况,请检查网络和内存再次尝试下载
-
-

-

-
-
-
-
-
-
五、如果您已验证并正常体验游戏,一段时间后,点击游戏图标再次出现信任提示且无法信任时,请卸载游戏包,重新安装游戏验证
-
-
-
-
-
-
-
-
点我去信任
-
-
-
-
-
+
+
+
+