From 459b722c1c514873b47cbcc58e026c360bff2294 Mon Sep 17 00:00:00 2001 From: jbrazz <2436953959@qq.com> Date: Tue, 29 Oct 2019 18:19:02 +0800 Subject: [PATCH 01/22] upt --- .../Admin/Controller/AjaxController.class.php | 37 +++++++++ .../Controller/MemberController.class.php | 31 ++++++-- Application/Admin/View/Member/edit.html | 19 ++++- Application/Admin/View/Member/role_list.html | 76 +++++++++++++++++++ Application/Admin/View/Member/user_info.html | 59 ++++++++++++-- Application/Admin/View/Promote/lists.html | 2 +- Application/Admin/View/User/rolelist.html | 3 + Application/Common/Common/extend.php | 2 + Application/Home/Model/MemberModel.class.php | 4 +- 9 files changed, 215 insertions(+), 18 deletions(-) create mode 100644 Application/Admin/View/Member/role_list.html diff --git a/Application/Admin/Controller/AjaxController.class.php b/Application/Admin/Controller/AjaxController.class.php index ad020d72d..f56cca3b4 100644 --- a/Application/Admin/Controller/AjaxController.class.php +++ b/Application/Admin/Controller/AjaxController.class.php @@ -132,4 +132,41 @@ class AjaxController extends ThinkController{ { $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevel($level)]); } + + public function getGameList($type=0, $sdk_type=0) + { + $game = M("game","tab_"); + + if(MODULE_NAME == 'Admin') { + $map['game_status'] = array('in','0,1'); + } else { + $map['game_status'] = 1; + } + + if(!empty($type)){ + /*$map['developers'] = $type == 1? array('EQ',0):array('GT',0);*/ + /* $map['game_status'] = $type == 1? 1:array('in','0,1'); */ + switch($type) { + case 1: + $map['developers'] = array('EQ',0); + break; + case 2: + $map['developers'] = array('EGT',0); + break; + default: + $map['developers'] = array('GT',0); + } + }else{ + $map['apply_status'] = 1; + $map['online_status'] = 1; + + } + if (empty($sdk_type)) { + $lists = $game->field('id,game_name,sdk_version,relation_game_name,icon,relation_game_id,game_status,display_site,dow_num')->where($map)->group('relation_game_name')->order("id asc")->select(); + } else { + $map['sdk_version'] = $sdk_type; + $lists = $game->field('id,game_name,sdk_version,relation_game_name,icon,relation_game_id,game_status,display_site,dow_num')->where($map)->order("id asc")->select(); + } + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$lists]); + } } \ No newline at end of file diff --git a/Application/Admin/Controller/MemberController.class.php b/Application/Admin/Controller/MemberController.class.php index 98f059052..9c0d4c44a 100644 --- a/Application/Admin/Controller/MemberController.class.php +++ b/Application/Admin/Controller/MemberController.class.php @@ -13,7 +13,6 @@ class MemberController extends ThinkController */ public function user_info($p = 0) { - $hav = ''; if ($_REQUEST['promote_id'] != '') { if($_REQUEST['promote_id']=='UC'){ @@ -109,6 +108,15 @@ class MemberController extends ThinkController $map['lock_status'] = $_REQUEST['status']; unset($_REQUEST['status']); } + + $game_map = ""; + if (isset($_REQUEST['game_type'])) { + $game_map .= " and tab_user_play_info.sdk_version = {$_REQUEST['game_type']}"; + } + + if (isset($_REQUEST['game_name'])) { + $game_map .= " and tab_user_play_info.game_name like '{$_REQUEST['game_name']}%'"; + } if (isset($_REQUEST['viplevel'])) { @@ -164,20 +172,20 @@ class MemberController extends ThinkController $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') ->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1') - ->join(isset($_REQUEST['game_id']) ? "tab_user_play as up on up.user_id = a.id and up.game_id = {$_REQUEST['game_id']} " : false) + ->join($game_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_map" : false) ->page($page, $row) ->having($havs) ->group('a.id') ->order($order) ->select(); -// var_dump($data);die; + //var_dump($usermodel->getLastSql());die; //计数 $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') ->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1') - ->join(isset($_REQUEST['game_id']) ? "tab_user_play as up on up.user_id = tab_user.id and up.game_id = {$_REQUEST['game_id']} " : false) + ->join($game_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_map" : false) ->where($map) ->group('tab_user.id') ->where($hav) @@ -336,7 +344,18 @@ class MemberController extends ThinkController $this->display(); - } + } + + public function role_list($p=1, $user_id='', $row=10) + { + $limit = ($p-1)*$row . ", $row"; + $list = M("user_play_info", 'tab_')->where(['user_id'=>$user_id])->limit($limit)->order('play_time desc')->select(); + $count = M("user_play_info", 'tab_')->where(['user_id'=>$user_id])->count(); + $page = set_pagination($count,$row); + if($page) {$this->assign('_page', $page);} + $this->assign('list', $list); + $this->display(); + } /** * 公用账户 @@ -717,7 +736,7 @@ class MemberController extends ThinkController */ public function lock_status($id, $lock_status) { - $map['id'] = $id; + $map['id'] = ['in', explode(',', $id)]; $res = M('user', 'tab_')->where($map)->setField(['lock_status' => $lock_status]); if ($res) { \Think\Log::actionLog('Member/lock_status','Member',$id); diff --git a/Application/Admin/View/Member/edit.html b/Application/Admin/View/Member/edit.html index 428a0dd92..5041ccaa3 100644 --- a/Application/Admin/View/Member/edit.html +++ b/Application/Admin/View/Member/edit.html @@ -204,7 +204,13 @@ 此处显示该玩家的金币提现记录 - + + 角色信息 + + 点击查看 + 点击查看该用户游戏角色信息 + + 游戏登录记录 @@ -297,6 +303,17 @@ content: [url + 'admin.php?s=/Member/chax/id/' + id + '' , 'no'] }); }); + + $("#role").click(function () { + layer.open({ + type: 2, + title: "【游戏付费记录】列表", + shadeClose: true, + shade: 0.8, + area: ['70%', '80%'], + content: [url + 'admin.php?s=/Member/role_list/user_id/' + id + '' , 'no'] + }); + }); $('#tixian').click(function() { layer.open({ diff --git a/Application/Admin/View/Member/role_list.html b/Application/Admin/View/Member/role_list.html new file mode 100644 index 000000000..b53c169e1 --- /dev/null +++ b/Application/Admin/View/Member/role_list.html @@ -0,0 +1,76 @@ + + + + + + + 游戏角色列表|----软件管理平台 + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
玩家账号游戏名称游戏区服角色ID角色名游戏等级所属推广员最后登陆时间最后登陆IP
{$data.user_account}{$data.game_name}{$data.server_name}{$data.role_id}{$data.role_name}{$data.role_level}{$data.promote_account}{$data.play_time|date='Y-m-d H:i:s',###}{$data.play_ip}
+
+
+
+ {$_page} +
+
+ + \ No newline at end of file diff --git a/Application/Admin/View/Member/user_info.html b/Application/Admin/View/Member/user_info.html index a44d286fe..a23ca712f 100644 --- a/Application/Admin/View/Member/user_info.html +++ b/Application/Admin/View/Member/user_info.html @@ -113,11 +113,18 @@
- + + + + +
+
+
@@ -148,6 +155,10 @@ +
+ 批量锁定 + 批量开启 +
@@ -159,6 +170,9 @@ + + + 账号ID 第三方来源 @@ -211,6 +225,7 @@ + {$data.id} {:get_registertype($data['register_type'])} @@ -423,22 +438,50 @@ $(function(){ }); $("#promote_level").change(); }) - function shenhe(){ + var game_name = "{:I('game_name')}"; + $("#game_type").change(function(){ + $.ajax({ + url:"{:U('Ajax/getGameList')}", + type:"get", + data:{sdk_type:$("#game_type option:selected").val()}, + dataType:'json', + success:function(response){ + str = ''; + // $.each(response.data, function(index, item){ + // console.log(item.id); + // str += ''; + // }); + data = response.data; + for (var i in data){ + str += "" + } + $("#game_name").empty(); + $("#game_name").append(str); + $("#game_name").select2(); + } + }) + }); + $("#game_type").change(); + + function shenhe(status){ var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { return $(elem).val(); }).get().join(','); + console.log(text); $.ajax({ cache: true, type: "POST", - url:"{:U('Member/age_check')}", - data:{id:text},// 你的formid + url:"{:U('Member/lock_status')}", + data:{id:text, lock_status:status},// 你的formid async: false, error: function(data) { layer.alert("服务器故障,请稍后重试!",{icon: 2}); }, success: function(data) { - var obj = JSON.parse(data); - layer.alert(obj.info,{icon:obj.status}) + // var obj = JSON.parse(data); + // layer.alert(obj.info,{icon:obj.status}) + layer.alert(data.info,{icon:data.status}) + window.location.reload() } }); } diff --git a/Application/Admin/View/Promote/lists.html b/Application/Admin/View/Promote/lists.html index 533dacbdc..2694f3be2 100644 --- a/Application/Admin/View/Promote/lists.html +++ b/Application/Admin/View/Promote/lists.html @@ -84,7 +84,7 @@
   
+
+     +
+
  • + + +
  • +
  • + +
  • +
  • + +
  • + + + + + + + + \ No newline at end of file diff --git a/Application/Admin/View/Member/device_bans_list.html b/Application/Admin/View/Member/device_bans_list.html new file mode 100644 index 000000000..3279cdd11 --- /dev/null +++ b/Application/Admin/View/Member/device_bans_list.html @@ -0,0 +1,221 @@ + + + + + + + + + + + + +
    + + +
    +
    + +
    +
    + +
    +
    + +
    + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID类型标识操作人操作时间操作
    aOh! 暂时还没有内容!
    {$data.id}{$data.tag}{:get_admin_nickname($data['operator_id'])}{$data.create_time|date='Y-m-d H:i:s',###} + 解除 +
    +
    +
    +
    + {$_page|default=''} +
    + + + +
    + + + + if(C('COLOR_STYLE')=='blue_color') echo ' + + '; + + + + + + + + diff --git a/Application/Admin/View/Member/login_record.html b/Application/Admin/View/Member/login_record.html index d02fdd1f7..aa9bee260 100644 --- a/Application/Admin/View/Member/login_record.html +++ b/Application/Admin/View/Member/login_record.html @@ -58,13 +58,20 @@
    - -
    + + +
    + +
    @@ -230,6 +237,31 @@ }) }); + var game_name = "{:I('game_name')}"; + $("#game_type").change(function(){ + $.ajax({ + url:"{:U('Ajax/getGameList')}", + type:"get", + data:{sdk_type:$("#game_type option:selected").val()}, + dataType:'json', + success:function(response){ + str = ''; + // $.each(response.data, function(index, item){ + // console.log(item.id); + // str += ''; + // }); + data = response.data; + for (var i in data){ + str += "" + } + $("#game_name").empty(); + $("#game_name").append(str); + $("#game_name").select2(); + } + }) + }); + $("#game_type").change(); + }) diff --git a/Application/Admin/View/RechargeSum/summation.html b/Application/Admin/View/RechargeSum/summation.html index 585758b64..b39f5f28c 100644 --- a/Application/Admin/View/RechargeSum/summation.html +++ b/Application/Admin/View/RechargeSum/summation.html @@ -65,13 +65,20 @@
    --> -
    - + + + + +
    +
    + + +
    +
    + +
    @@ -257,11 +262,31 @@ $("#game_name").empty(); $("#game_name").append(str); $("#game_name").select2(); + $("#game_name").change(); } }) }); $("#game_type").change(); + var game_server = "{:I('server_name')}"; + $("#game_name").change(function(){ + $.ajax({ + url:"{:U('Ajax/getGmeServer')}", + type:"post", + data:{sdk_version:$("#game_type option:selected").val(), game_name:$("#game_name option:selected").val()}, + dataType:'json', + success:function(data){ + str = ""; + for (var i in data){ + str += "" + } + $("#server_name").empty(); + $("#server_name").append(str); + $("#server_name").select2(); + } + }) + }); + }) diff --git a/Application/Admin/View/Member/user_info.html b/Application/Admin/View/Member/user_info.html index a23ca712f..b6091d6de 100644 --- a/Application/Admin/View/Member/user_info.html +++ b/Application/Admin/View/Member/user_info.html @@ -127,6 +127,12 @@ --> +
    + +
    +
    +
    + +
    + + + + +
    +
    + +
    +
    +
    + +
    + +
    + +
    + +
    + +
    + + + + + + + + + + + + + + + + + +
    时间收益操作

    暂无数据

    {$data.day}{$data.income}明细
    +
    +
    + {$_page} +
    + + + + + + + + + + \ No newline at end of file diff --git a/Application/Home/View/default/Finance/settlementDtl.html b/Application/Home/View/default/Finance/settlementDtl.html index f66bf47b3..08d2c16fa 100644 --- a/Application/Home/View/default/Finance/settlementDtl.html +++ b/Application/Home/View/default/Finance/settlementDtl.html @@ -66,7 +66,15 @@
    diff --git a/Data/update.sql b/Data/update.sql index ebabebfe9..ffb537dea 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -336,3 +336,6 @@ CREATE TABLE `tab_spend_user_count` ( KEY `count_date` (`count_date`) USING BTREE ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='流水角色聚合表'; +-- 2019-11-6 cxj +ALTER TABLE `tab_spend` ADD COLUMN `withdraw_id` int(11) NOT NULL DEFAULT 0 COMMENT '提现ID' AFTER `pay_url`; +ALTER TABLE `tab_withdraw` ADD COLUMN `settlement_end_time` int(10) NOT NULL DEFAULT 0 COMMENT '结算截止时间' AFTER `old_promote_account`; \ No newline at end of file From f4702e365bb8d65164abe2458af07c6f26924150 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9C=E7=94=A8lww?= <“529520975@qq.com> Date: Thu, 7 Nov 2019 09:42:57 +0800 Subject: [PATCH 15/22] =?UTF-8?q?composer=E5=8C=85=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=9B=BD=E5=86=85=E9=95=9C=E5=83=8F=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/composer.json b/composer.json index 069baf26b..75f9c6467 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,11 @@ { "require": { "rodneyrehm/plist": "^2.0" + }, + "repositories": { + "packagist": { + "type": "composer", + "url": "https://packagist.phpcomposer.com" + } } } From a38e4b36900b5822ea25f460f655e5fd1d3e1db4 Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Thu, 7 Nov 2019 10:25:43 +0800 Subject: [PATCH 16/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Data/update.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Data/update.sql b/Data/update.sql index ebabebfe9..107efbdea 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -336,3 +336,5 @@ CREATE TABLE `tab_spend_user_count` ( KEY `count_date` (`count_date`) USING BTREE ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='流水角色聚合表'; +ALTER TABLE `sys_shift_task` ADD COLUMN `shift_ids` varchar(255) NOT NULL DEFAULT '' COMMENT '迁移ID'; +ALTER TABLE `sys_shift_task` ADD COLUMN `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注'; From bcc4b10bd655c187e51ace426b2c497d8a269f6e Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Thu, 7 Nov 2019 11:26:45 +0800 Subject: [PATCH 17/22] =?UTF-8?q?=E8=90=BD=E5=9C=B0=E9=A1=B5/=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E9=A1=B5=E6=B7=BB=E5=8A=A0=E6=97=A7=E7=89=88=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E5=8F=8A=E9=93=BE=E6=8E=A5=E9=BB=91=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Controller/DownController.class.php | 4 +++ .../Controller/DownloadController.class.php | 28 ++++++++++----- .../Home/Controller/HomeController.class.php | 35 ++++++++++++++----- 3 files changed, 49 insertions(+), 18 deletions(-) diff --git a/Application/Home/Controller/DownController.class.php b/Application/Home/Controller/DownController.class.php index 5a68b07ee..86be86ba4 100644 --- a/Application/Home/Controller/DownController.class.php +++ b/Application/Home/Controller/DownController.class.php @@ -14,6 +14,10 @@ class DownController extends Controller { $this->display(); } public function down_file($game_id=0,$promote_id=0){ + // 旧版兼容 + A('Download')->index(); + die(); + $applyModel = M('Apply','tab_'); $map['status'] = 1; $map['enable_status'] = 1; diff --git a/Application/Home/Controller/DownloadController.class.php b/Application/Home/Controller/DownloadController.class.php index dc69d5d83..327f99517 100644 --- a/Application/Home/Controller/DownloadController.class.php +++ b/Application/Home/Controller/DownloadController.class.php @@ -19,18 +19,28 @@ class DownloadController extends Controller { public function index() { $code = I('code', ''); - if ($code == '') { + $gameId = I('game_id', 0); + $promoteId = I('promote_id', 0); + + if ($code == '' && ($gameId == 0 || $promoteId == 0)) { $this->redirect("download/downloadError", ['message' => '访问错误']); } - $applyService = new ApplyService(); - $data = $applyService->decodeApplyCode($code); - $result = $applyService->checkApplyCode($data, ApplyService::ENCRYPT_TYPE_DOWNLOAD); - if (!$result['status']) { - $this->error($result['message']); + + $blackList = []; + if (in_array($code, $blackList) || in_array('game_id/' . $gameId . '/promote_id/' . $promoteId, $blackList)) { + $this->redirect("download/downloadError", ['message' => '该链接已被禁']); + } + if ($code != '') { + $applyService = new ApplyService(); + $data = $applyService->decodeApplyCode($code); + $result = $applyService->checkApplyCode($data, ApplyService::ENCRYPT_TYPE_DOWNLOAD); + if (!$result['status']) { + $this->error($result['message']); + } + + $gameId = $data['game_id']; + $promoteId = $data['promote_id']; } - - $gameId = $data['game_id']; - $promoteId = $data['promote_id']; $map = []; $map['status'] = 1; diff --git a/Application/Home/Controller/HomeController.class.php b/Application/Home/Controller/HomeController.class.php index 2c0e2155b..bdba456a4 100644 --- a/Application/Home/Controller/HomeController.class.php +++ b/Application/Home/Controller/HomeController.class.php @@ -101,6 +101,10 @@ class HomeController extends Controller public function promitionofregestion() { + // 旧版兼容 + A('Home')->landingPage(); + die(); + $gameData = M('Game', 'tab_') ->field('relation_game_id,sdk_version') ->where(array('id' => intval($_GET['gid']))) @@ -131,14 +135,27 @@ class HomeController extends Controller public function landingPage() { $code = I('code', ''); - if ($code == '') { - $this->redirect("download/downloadError", ['message' => '访问错误']); + $gameId = I('gid', 0); + $promoteId = I('pid', 0); + + if ($code == '' && ($gameId == 0 || $promoteId == 0)) { + $this->error('访问错误'); + } + $blackList = []; + if (in_array($code, $blackList) || in_array('gid/' . $gameId . '/pid/' . $promoteId, $blackList)) { + $this->error('该链接已被禁'); } - $applyService = new ApplyService(); - $data = $applyService->decodeApplyCode($code); - $result = $applyService->checkApplyCode($data, ApplyService::ENCRYPT_TYPE_LANDING_PAGE); - if (!$result['status']) { - $this->error($result['message']); + + if ($code != '') { + $applyService = new ApplyService(); + $data = $applyService->decodeApplyCode($code); + $result = $applyService->checkApplyCode($data, ApplyService::ENCRYPT_TYPE_LANDING_PAGE); + if (!$result['status']) { + $this->error($result['message']); + } + + $gameId = $data['game_id']; + $promoteId = $data['promote_id']; } $isWechat = Request::isWechat(); @@ -157,7 +174,7 @@ class HomeController extends Controller 'features', 'flooring_page_imgs', ]; - $map = ['id' => intval($data['game_id'])]; + $map = ['id' => intval($gameId)]; $game = M('game', 'tab_')->field($columns)->where($map)->find(); @@ -171,7 +188,7 @@ class HomeController extends Controller $game = M('game', 'tab_')->field($columns)->where($map)->find(); } $apply = M('apply', 'tab_')->field(['game_id', 'enable_status', 'promote_id']) - ->where(['promote_id' => $data['promote_id'], 'game_id' => $game['id']]) + ->where(['promote_id' => $promoteId, 'game_id' => $game['id']]) ->find(); $game['icon'] = get_cover($game['icon'], 'path'); From e1fd669aa8f80d54ae3c782019c1ed58269cbbc7 Mon Sep 17 00:00:00 2001 From: chenxiaojun <956334972@qq.com> Date: Thu, 7 Nov 2019 11:56:37 +0800 Subject: [PATCH 18/22] =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E5=90=8E=E5=8F=B0->?= =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E7=AE=A1=E7=90=86->=E6=8F=90=E7=8E=B0?= =?UTF-8?q?=E8=AE=B0=E5=BD=95->=E7=BB=93=E7=AE=97=E5=8D=95--=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/FinanceController.class.php | 52 ++++- .../View/default/Finance/settlementOrder.html | 200 ++++++++++++++++++ .../View/default/Finance/withdrawDtl.html | 19 +- .../View/default/Finance/withdrawRecord.html | 8 +- 4 files changed, 267 insertions(+), 12 deletions(-) create mode 100644 Application/Home/View/default/Finance/settlementOrder.html diff --git a/Application/Home/Controller/FinanceController.class.php b/Application/Home/Controller/FinanceController.class.php index 080955c5f..5ae5a619d 100644 --- a/Application/Home/Controller/FinanceController.class.php +++ b/Application/Home/Controller/FinanceController.class.php @@ -365,12 +365,10 @@ class FinanceController extends BaseController if (isset($_GET['status']) && $_GET['status'] !== '') { $status = intval($_GET['status']); if (!isset(FinanceController::$withdrawStatus[$status])) { - if (!isset(FinanceController::$withdrawStatus[$status])) { - $this->error('参数异常'); - } - - $map['status'] = $status; + $this->error('参数异常'); } + + $map['status'] = $status; } $data = $model->field('id,widthdraw_number,create_time,settlement_end_time,sum_money,status,respond') @@ -485,4 +483,48 @@ class FinanceController extends BaseController $this->assign('modelList', $modelList); $this->display(); } + + //结算单 + public function settlementOrder() + { + //是否是会长 + $this->purview(); + //验证安全密码 + $metaTitle = '结算单'; + $modelList = ['财务管理', '提现记录', $metaTitle]; + $this->verifyPasswordView($modelList); + + $model = M('withdraw', 'tab_'); + $withdrawId = intval(I('get.id', 0)); + if ($withdrawId == 0) { + $this->error('参数异常'); + } + $withdraw = $model->find($withdrawId); + if (empty($withdraw) || $withdraw['promote_id'] != $this->loginPromote['id']) { + $this->error('参数异常'); + } + $withdraw['create_time'] = date('Y-m-d H:i:s', $withdraw['create_time']); + $withdraw['settlement_end_time'] = date('Y-m-d H:i:s', $withdraw['settlement_end_time']); + $withdraw['status'] = FinanceController::$withdrawStatus[$withdraw['status']]; + + $map['withdraw_id'] = $withdrawId; + $data = M('spend', 'tab_') + ->field('game_name,selle_ratio,pay_way,sum(pay_amount) as pay_amount_all,sum(if(selle_ratio > 0,pay_amount * selle_ratio,0)) as income') + ->where($map) + ->group('game_id') + ->order('game_id') + ->select(); + if (!empty($data)) { + foreach ($data as &$list) { + $list['income'] = bcdiv($list['income'], 100, 2); + } + } + + $this->assign('withdraw', $withdraw); + $this->assign('listData', $data); + $this->assign('promoteData', $this->loginPromote); + $this->assign('meta_title', $metaTitle); + $this->assign('modelList', $modelList); + $this->display(); + } } \ No newline at end of file diff --git a/Application/Home/View/default/Finance/settlementOrder.html b/Application/Home/View/default/Finance/settlementOrder.html new file mode 100644 index 000000000..16dfbf387 --- /dev/null +++ b/Application/Home/View/default/Finance/settlementOrder.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Application/Home/View/default/Finance/withdrawDtl.html b/Application/Home/View/default/Finance/withdrawDtl.html index 851cf4510..b7b1273e5 100644 --- a/Application/Home/View/default/Finance/withdrawDtl.html +++ b/Application/Home/View/default/Finance/withdrawDtl.html @@ -135,8 +135,11 @@ 玩家账号 订单总额 现金分成基数 + 现金分成比例 平台币分成基数 - 平台币分成比例(直充|内充) + 平台币分成比例 + 绑定币分成基数 + 绑定币分成比例 现金支付通道 收益 订单状态 @@ -157,14 +160,24 @@ {:getSDKTypeName($vo['sdk_version'])} {$vo.user_account} {$vo.pay_amount} - + + {$vo.pay_amount} + 0 + + {$vo.selle_ratio}% + {$vo.pay_amount} + 0 + + {$vo.selle_ratio}% + {$vo.pay_amount} + 0 - {$vo.selle_ratio}%|{$vo.selle_ratio}% + {$vo.selle_ratio}% {$vo.pay_way_name} {$vo.income} {$status} diff --git a/Application/Home/View/default/Finance/withdrawRecord.html b/Application/Home/View/default/Finance/withdrawRecord.html index 1685883b6..284b914bf 100644 --- a/Application/Home/View/default/Finance/withdrawRecord.html +++ b/Application/Home/View/default/Finance/withdrawRecord.html @@ -98,13 +98,13 @@
    - +
    - +
    - +
    @@ -172,7 +172,7 @@ 提现明细 汇款证明 - 结算单 + 结算单 From 115bafc067b035a96a74f5e3156f5cb373166f41 Mon Sep 17 00:00:00 2001 From: chenzhi <“chenzhi063@qq.com> Date: Thu, 7 Nov 2019 12:00:51 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A1=A5=E9=93=BE?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E5=8F=8A=E5=8F=96=E6=B6=88=E8=A1=A5=E9=93=BE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/MendController.class.php | 83 +++++---- Application/Admin/View/Mend/edit.html | 8 +- Application/Admin/View/Mend/lists.html | 9 +- Application/Admin/View/Mend/shiftInfo.html | 173 ++++++++++++++++++ Application/Common/Common/extend.php | 20 ++ Data/update.sql | 5 +- 6 files changed, 257 insertions(+), 41 deletions(-) create mode 100644 Application/Admin/View/Mend/shiftInfo.html diff --git a/Application/Admin/Controller/MendController.class.php b/Application/Admin/Controller/MendController.class.php index df3846a4c..a1d9bc50f 100644 --- a/Application/Admin/Controller/MendController.class.php +++ b/Application/Admin/Controller/MendController.class.php @@ -58,9 +58,9 @@ class MendController extends ThinkController { public function edit($id = null) { - // $promoteService = new PromoteService(); - + if (IS_POST) { + $promoteService = new PromoteService(); if ($_POST['prmoote_id_to'] == -1){ $_POST['prmoote_id_to'] = 0; } @@ -70,44 +70,27 @@ class MendController extends ThinkController { if ($_POST['promote_id'] == $_POST['prmoote_id_to']) { $this->error('没有变更数据'); } + if ($_POST['order_time'] == '') { + $this->error('没有订单日期'); + } $create = $_REQUEST; - dump($create); - $map['id'] = $create['user_id']; - $map_['user_id'] = $create['user_id']; - $data['promote_id'] = $create['prmoote_id_to']; - $data['promote_account'] = get_promote_name($create['prmoote_id_to']); -// 加入补链时间 - $data['rebind_time'] = $create['rebind_time']; - dump($data); - $user_data = $data; - $promote = M('promote', 'tab_')->where(array("id"=>I('prmoote_id_to')))->find(); - if ($promote['parent_id'] != "0") { - $ppromote = M('promote', 'tab_')->where(array("id"=>$promote['parent_id']))->find(); - $user_data['parent_id']=$ppromote['id']; + $create['order_time'] = date($create['order_time']); + $params = array( + "from_promote_id"=>$create['promote_id'], + "to_promote_id"=>$create['prmoote_id_to'], + "order_time"=>$create['order_time'], + "type"=>2, + "shift_ids"=>[$create['user_id']], + ); + if(!empty($create['remark'])){ + $params['remark'] = $create['remark']; + } + $res = $promoteService->addShiftTask($params); + if($res['status']){ + $this->success('补链成功', U('lists'), 2); }else{ - $user_data['parent_id'] = 0; + $this->error($res['msg']); } - - $user_data['parent_name']=get_promote_name($user_data['parent_id']); - - // $user = M('user', 'tab_')->where($map)->save($user_data); - // $user_ = M('UserPlay', 'tab_')->where($map_)->save($data); - // $puser_ = M('UserPlayInfo', 'tab_')->where($map_)->save($data); - // $spend = M('Spend', 'tab_')->where($map_)->where(array('is_check'=>array('in','1,2')))->save($data);// spend只改未对账的数据 - // $depost = M('Deposit', 'tab_')->where($map_)->save($data); - // $Bind_spend = M('Bind_spend', 'tab_')->where($map_)->save($data); - // $create['user_account'] = get_user_account($create['user_id']); - // $create['promote_account'] = get_promote_name($create['promote_id']); - // $create['promote_id_to'] = $create['prmoote_id_to']; - // $create['promote_account_to'] = get_promote_name($create['prmoote_id_to']); - // $create['create_time'] = time(); - // $create['op_id'] = UID; - // $create['op_account'] = session('user_auth.username'); - // $create['bind_type'] = $create['bind_type']; - // $mend = M('mend', 'tab_')->add($create); - // if ($mend) { - // $this->success('补链成功', U('lists'), 2); - // } } else { $user = A('User', 'Event'); $user_data = $user->user_entity($id); @@ -123,6 +106,30 @@ class MendController extends ThinkController { $this->display(); } } + //补链详情 + public function shiftInfo() + { + $id = I('id'); + $info = M("shift_task")->where("id = {$id} and status = 0")->find(); + if(empty($info)){ + $this->error("补链不存在或已处理"); + } + - + $info['user_id'] = json_decode($info['shift_ids'])[0]; + $info['order_time'] = date("Y-m-d",$info['order_time']); + $this->assign('data',$info); + $this->display(); + } + //取消补链 + public function cancelShift() + { + $id = I('id'); + $status = M('ShiftTask')->where(['id' => $id,'status' => 0])->save(['status' => 2]); + if ($status) { + $this->success('取消补链成功', U('lists'), 2); + } else { + $this->error("取消失败,或补链已生效",U('lists')); + } + } } diff --git a/Application/Admin/View/Mend/edit.html b/Application/Admin/View/Mend/edit.html index 38821314b..b1d310b39 100644 --- a/Application/Admin/View/Mend/edit.html +++ b/Application/Admin/View/Mend/edit.html @@ -84,6 +84,13 @@ + + 订单日期: + + + + + 换绑类型 @@ -159,7 +166,6 @@ Think.setValue("prmoote_id_to", {$data.promote_id|default = "''"}); $('#submit').click(function(){ $('#form').submit(); }); - $(function(){ $('.time').datetimepicker({ format: 'yyyy-mm-dd hh:ii', diff --git a/Application/Admin/View/Mend/lists.html b/Application/Admin/View/Mend/lists.html index 2c133330f..2e87bce63 100644 --- a/Application/Admin/View/Mend/lists.html +++ b/Application/Admin/View/Mend/lists.html @@ -80,7 +80,14 @@ {:get_promote_name($data['promote_id'])}
    - 补链 + + + 补链 + + 补链中 + + + diff --git a/Application/Admin/View/Mend/shiftInfo.html b/Application/Admin/View/Mend/shiftInfo.html new file mode 100644 index 000000000..dd6f0f9a8 --- /dev/null +++ b/Application/Admin/View/Mend/shiftInfo.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    用户账号 + +
    修改前渠道 + + +
    补链后渠道 + + +
    订单日期: + +
    换绑类型 + In + Out +
    备注 + + +
    + + +
    + + + 返回 + +
    + +
    + + + + +
    + + + +if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + diff --git a/Application/Common/Common/extend.php b/Application/Common/Common/extend.php index 0e0b103f4..f0acd5aa7 100644 --- a/Application/Common/Common/extend.php +++ b/Application/Common/Common/extend.php @@ -2834,3 +2834,23 @@ function index_by_column($column, $items) } return $records; } + +/** + * [获取用户是否补链中] + * @param integer $user_id [description] + * @return bool + */ +function getIsTask($user_id){ + + $shift = M("shift_task"); + $map=array( + "status"=>0, + "shift_ids"=>array("LIKE","%\"{$user_id}\"%") + ); + $shiftres = $shift->field("id")->where($map)->find(); + if(empty($shiftres)){ + return 0; + }else{ + return $shiftres['id']; + } +} diff --git a/Data/update.sql b/Data/update.sql index ffb537dea..a46614f99 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -338,4 +338,7 @@ CREATE TABLE `tab_spend_user_count` ( -- 2019-11-6 cxj ALTER TABLE `tab_spend` ADD COLUMN `withdraw_id` int(11) NOT NULL DEFAULT 0 COMMENT '提现ID' AFTER `pay_url`; -ALTER TABLE `tab_withdraw` ADD COLUMN `settlement_end_time` int(10) NOT NULL DEFAULT 0 COMMENT '结算截止时间' AFTER `old_promote_account`; \ No newline at end of file +ALTER TABLE `tab_withdraw` ADD COLUMN `settlement_end_time` int(10) NOT NULL DEFAULT 0 COMMENT '结算截止时间' AFTER `old_promote_account`; + + +INSERT INTO `sys_menu` (`title`, `pid`, `sort`, `url`, `hide`, `tip`, `group`, `is_dev`, `status`) VALUES ('补链详情', '192', '0', 'Mend/shiftInfo', '0', '', '推广补链', '0', '1'); From a29015937ab88fd73841b14e73d89065159d7eea Mon Sep 17 00:00:00 2001 From: chenxiaojun <956334972@qq.com> Date: Thu, 7 Nov 2019 12:05:45 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E5=90=8E=E5=8F=B0->?= =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E7=AE=A1=E7=90=86->=E6=8F=90=E7=8E=B0?= =?UTF-8?q?=E8=AE=B0=E5=BD=95->=E7=BB=93=E7=AE=97=E5=8D=95--=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/Controller/FinanceController.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/Home/Controller/FinanceController.class.php b/Application/Home/Controller/FinanceController.class.php index 5ae5a619d..f90f42549 100644 --- a/Application/Home/Controller/FinanceController.class.php +++ b/Application/Home/Controller/FinanceController.class.php @@ -509,7 +509,7 @@ class FinanceController extends BaseController $map['withdraw_id'] = $withdrawId; $data = M('spend', 'tab_') - ->field('game_name,selle_ratio,pay_way,sum(pay_amount) as pay_amount_all,sum(if(selle_ratio > 0,pay_amount * selle_ratio,0)) as income') + ->field('game_name,if(selle_ratio >= 0,selle_ratio,0) as selle_ratio,pay_way,sum(pay_amount) as pay_amount_all,sum(if(selle_ratio > 0,pay_amount * selle_ratio,0)) as income') ->where($map) ->group('game_id') ->order('game_id') From c6627a53c28b8a0070cb3d52d2777dfe1d15297a Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Thu, 7 Nov 2019 12:14:24 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E5=B0=86plist=20demo=E5=86=99=E5=85=A5ph?= =?UTF-8?q?p=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base/Service/GameSourceService.class.php | 3 +- Application/Base/Tool/PlistDemo.class.php | 48 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 Application/Base/Tool/PlistDemo.class.php diff --git a/Application/Base/Service/GameSourceService.class.php b/Application/Base/Service/GameSourceService.class.php index fb948c576..f38f52b67 100644 --- a/Application/Base/Service/GameSourceService.class.php +++ b/Application/Base/Service/GameSourceService.class.php @@ -4,6 +4,7 @@ namespace Base\Service; use Base\Model\PromoteModel; use Base\Model\ApplyModel; use Base\Tool\Base62; +use Base\Tool\PlistDemo; class GameSourceService { @@ -333,7 +334,7 @@ class GameSourceService { } $xml = new \DOMDocument(); - $xml->load(ROOTTT . 'Uploads/Plist/testdemo.Plist'); + $xml->loadXML(PlistDemo::$content); $online = $xml->getElementsByTagName('dict'); //查找节点 $elements = $online->item(1)->getElementsByTagName('string'); //第二个节点下所有string foreach ($elements as $element) { diff --git a/Application/Base/Tool/PlistDemo.class.php b/Application/Base/Tool/PlistDemo.class.php new file mode 100644 index 000000000..a1c5c6f77 --- /dev/null +++ b/Application/Base/Tool/PlistDemo.class.php @@ -0,0 +1,48 @@ + + */ +class PlistDemo +{ + public static $content = ' + + + + items + + + assets + + + kind + software-package + url + ipa_url + + + kind + display-image + needs-shine + + url + icon + + metadata + + bundle-identifier + com.dell + bundle-version + 1.0.0 + kind + software + title + mchdemo + + + + + '; +} \ No newline at end of file From 09672d13b4f8889420e38f98780b9d80bbb8e6ab Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Thu, 7 Nov 2019 12:26:38 +0800 Subject: [PATCH 22/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E5=8C=85bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Base/Service/GameSourceService.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/Application/Base/Service/GameSourceService.class.php b/Application/Base/Service/GameSourceService.class.php index f38f52b67..1a4f94185 100644 --- a/Application/Base/Service/GameSourceService.class.php +++ b/Application/Base/Service/GameSourceService.class.php @@ -137,6 +137,7 @@ class GameSourceService { $oldLocalPath = $localPath; $localPath = str_replace('Uploads/SourcePack', 'Uploads/Ios/original', $oldLocalPath); $originalUrl = $relativeUrl; + $relativeUrl = str_replace('Uploads/SourcePack', 'Uploads/Ios/original', $relativeUrl); copy($oldLocalPath, $localPath); } $status = $this->packChannel($localPath, $game, $gameSource);