From 0af6a53ba7edb6ea5e8d835f4ffff7b9543906d4 Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Tue, 21 Apr 2020 15:53:45 +0800 Subject: [PATCH 01/62] =?UTF-8?q?=E5=90=8E=E5=8F=B0arpu=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/ConsoleController.class.php | 1 - .../Admin/Controller/StatController.class.php | 130 ++++++ Application/Admin/View/Stat/userarpu.html | 108 ++--- Application/Admin/View/Stat/userarpu_old.html | 407 ++++++++++++++++++ 4 files changed, 577 insertions(+), 69 deletions(-) create mode 100644 Application/Admin/View/Stat/userarpu_old.html diff --git a/Application/Admin/Controller/ConsoleController.class.php b/Application/Admin/Controller/ConsoleController.class.php index 7fd9fc095..fc7bef092 100644 --- a/Application/Admin/Controller/ConsoleController.class.php +++ b/Application/Admin/Controller/ConsoleController.class.php @@ -434,7 +434,6 @@ class ConsoleController extends Think { $start = I('start', date('Y-m-d')); $end = I('end', date('Y-m-d')); $gameIds = I('game_ids', ''); - $startTime = strtotime($start . ' 00:00:00'); $endTime = strtotime($end . ' 23:59:59'); $gameIdRows = explode(',', $gameIds); diff --git a/Application/Admin/Controller/StatController.class.php b/Application/Admin/Controller/StatController.class.php index 12b37a10a..3543c2d9b 100644 --- a/Application/Admin/Controller/StatController.class.php +++ b/Application/Admin/Controller/StatController.class.php @@ -672,6 +672,136 @@ AND UNIX_TIMESTAMP( } public function userarpu($p=0) + { + $start = I('start', date('Y-m-d')); + $end = I('end', date('Y-m-d')); + $gameIds = I('game_ids', ''); + $promoteId = I('promote_id', 0); + $dataOrder = I('data_order', ''); + $containBindCoins = I('contain_bind_coins', 0); + + $orderType = ''; + $order = 0; + if ($dataOrder != '') { + $dataOrderRow = explode(',', $dataOrder); + $order = $dataOrderRow[0]; + $orderType = $dataOrderRow[1]; + } + + $promoteIds = []; + if ($promoteId > 0) { + $promote = M('promote', 'tab_')->field(['id', 'chain'])->where(['id' => $promoteId])->find(); + $promoteIds = M('promote', 'tab_')->where(['chain' => ['like', $promote['chain'] . $promote['id'] . '/%']])->getField('id', true); + $promoteIds[] = $promote['id']; + } + + $startTime = strtotime($start . ' 00:00:00'); + $endTime = strtotime($end . ' 23:59:59'); + $gameIdRows = $gameIds ? explode(',', $gameIds) : []; + + $conditions = []; + if (count($gameIdRows)) { + $conditions['game_id'] = ['in', $gameIdRows]; + } + if (count($promoteIds)) { + $conditions['promote_id'] = ['in', $promoteIds]; + } + // 新增用户 + + /* M('user', 'tab_') + ->field('count(*) count, FROM_UNIXTIME(register_time, "%Y-%m-%d") date') + ->where([ + 'game_id' => ['in', $gameIdRows], + 'register_time' => ['between', [$startTime, $endTime]] + ]) + ->group('date') + ->select(); */ + + $newUsers = M('user_play', 'tab_') + ->field('count(DISTINCT user_id) count, FROM_UNIXTIME(create_time, "%Y-%m-%d") date') + ->where(array_merge($conditions, ['create_time' => ['between', [$startTime, $endTime]]])) + ->group('date') + ->select(); + $newUsers = index_by_column('date', $newUsers); + + // 活跃用户 + $loginUsers = M('login_daily_record', 'tab_') + ->field('count(DISTINCT user_id) count, FROM_UNIXTIME(create_time, "%Y-%m-%d") date') + ->where(array_merge($conditions, ['create_time' => ['between', [$startTime, $endTime]]])) + ->group('date') + ->select(); + $loginUsers = index_by_column('date', $loginUsers); + + $spendConditions = array_merge($conditions, [ + 'pay_time' => ['between', [$startTime, $endTime]], + 'pay_status' => 1, + ]); + if ($containBindCoins == 0) { + $spendConditions['pay_way'] = ['gt', -1]; + } + + // 付费玩家,付费金额 + $payLogs = M('spend', 'tab_') + ->field('count(DISTINCT user_id) count, sum(pay_amount) amount, FROM_UNIXTIME(pay_time, "%Y-%m-%d") date') + ->where($spendConditions) + ->group('date') + ->select(); + $payLogs = index_by_column('date', $payLogs); + + $rows = []; + for ($time = $startTime; $time < $endTime; $time = $time + 24*3600) { + $date = date('Y-m-d', $time); + $newUser = isset($newUsers[$date]) ? $newUsers[$date]['count'] : 0; + $loginUser = isset($loginUsers[$date]) ? $loginUsers[$date]['count'] : 0; + $payAmount = isset($payLogs[$date]) ? $payLogs[$date]['amount'] : 0; + $payUser = isset($payLogs[$date]) ? $payLogs[$date]['count'] : 0; + $rows[] = [ + 'date' => $date, + 'new_user' => $newUser, + 'login_user' => $loginUser, + 'pay_amount' => $payAmount, + 'pay_user' => $payUser, + 'pay_rate' => $loginUser > 0 ? (round($payUser / $loginUser * 100, 2)) : '0', + 'arpu' => $loginUser > 0 ? (round($payAmount / $loginUser, 2)) : '0.00', + 'arppu' => $payUser > 0 ? (round($payAmount / $payUser, 2)) : '0.00', + ]; + } + + if (I('export', 0) == 1) { + $fields = [ + 'date' => '日期', + 'new_user' => '新增玩家', + 'login_user' => '活跃玩家', + 'pay_account' => '充值金额', + 'pay_user' => '付费玩家', + 'pay_rate' => '付费率', + 'arpu' => 'ARPU', + 'arppu' => 'ARPPU', + ]; + foreach ($rows as &$item) { + $item['pay_rate'] = $item['pay_rate'] . '%'; + } + + addOperationLog(['op_type'=>3,'key'=>getNowDate(),'op_name'=>'ARPU分析','url'=>U('Stat/userarpu'),'menu'=>'统计-数据分析-ARPU分析']); + + data2csv($rows, '数据分析_ARPU分析', $fields); + exit; + } + + if ($dataOrder) { + $sort = $order == 3 ? SORT_DESC : SORT_ASC; + $orderColumn = array_column($rows, $orderType); + array_multisort($orderColumn, $sort, SORT_REGULAR, $rows); + } + + $this->meta_title = 'ARPU统计'; + $this->assign('records', $rows); + $this->assign('order', $order); + $this->assign('orderType', $orderType); + $this->display(); + } + + public function userarpu_old($p=0) { $request=$_REQUEST; $page = intval($p); diff --git a/Application/Admin/View/Stat/userarpu.html b/Application/Admin/View/Stat/userarpu.html index de5c56d00..45e9da560 100644 --- a/Application/Admin/View/Stat/userarpu.html +++ b/Application/Admin/View/Stat/userarpu.html @@ -48,18 +48,18 @@ 活跃玩家 当天登录的玩家总数 -
  • +
  • 付费玩家 当天付费的玩家数量
  • -
  • +
  • 付费率 付费玩家/活跃玩家 @@ -83,12 +83,12 @@
    参与统计设置: - +
    @@ -103,7 +103,7 @@
    - @@ -132,63 +132,35 @@ - 日期▲日期▼日期 - - 游戏名称 - - - 渠道名称 - + 日期▲日期▼日期 - 新增玩家▲新增玩家▼新增玩家 - - 活跃玩家▲活跃玩家▼活跃玩家 + 新增玩家▲新增玩家▼新增玩家 - 1日留存▲1日留存▼1日留存 + 活跃玩家▲活跃玩家▼活跃玩家 - 充值▲充值▼充值 + 充值金额▲充值金额▼充值金额 - 付费玩家▲付费玩家▼付费玩家 + 付费玩家▲付费玩家▼付费玩家 - 新付费玩家▲新付费玩家▼新付费玩家 + 付费率▲付费率▼付费率 - 付费率▲付费率▼付费率 - - ARPU▲ARPU▼ARPU + ARPU▲ARPU▼ARPU - ARPPU▲ARPPU▼ARPPU - - 累计付费玩家▲累计付费玩家▼累计付费玩家 - - - 详情 - + ARPPU▲ARPPU▼ARPPU - + - {$vo.time} - - {$game_name} - - - {$promote_name} - - {$vo.register_num} - {$vo.act_user} - {$vo.keep_num}% - {$vo.spend} - {$vo.spend_people} - {$vo.new_pop} - {$vo.spend_rate}% - {$vo.ARPU} - {$vo.ARPPU} - {$vo.pop_num} - - 查看 - + {$vo.date} + {$vo.new_user} + {$vo.login_user} + {$vo.pay_amount} + {$vo.pay_user} + {$vo.pay_rate}% + {$vo.arpu} + {$vo.arppu} @@ -196,13 +168,13 @@
    - 导出 + 导出 {$_page|default=''}
    @@ -210,11 +182,11 @@ @@ -249,8 +221,8 @@ $(function(){ if(interval < 0 || start == ''){ layer.msg('请选择搜索时间'); return false; - }else if(interval>90){ - layer.msg('请选择90日内的时间段'); + }else if(interval>31){ + layer.msg('请选择31日内的时间段'); return false; } @@ -283,8 +255,8 @@ $(function(){ $(".paixu").click(function(){ var that=$(this); $data_order=that.attr('data-order'); - $order_type='{$userarpu_order}'; - if($order_type==''||$order_type=='4'){ + $order_type='{$order}'; + if($order_type==0||$order_type=='4'){ $(".sortBy").attr('name','data_order'); val='3,'+$data_order; $(".sortBy").attr('value',val); diff --git a/Application/Admin/View/Stat/userarpu_old.html b/Application/Admin/View/Stat/userarpu_old.html new file mode 100644 index 000000000..de5c56d00 --- /dev/null +++ b/Application/Admin/View/Stat/userarpu_old.html @@ -0,0 +1,407 @@ + + + + + + + + + + + + + +
    +
    +
    + 参与统计设置: + + +
    +
    + +
    +
    + +
    +
    + +  -  + +
    +
    + +
    +
    + +
    + +
    + 搜索 +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    日期▲日期▼日期游戏名称渠道名称新增玩家▲新增玩家▼新增玩家活跃玩家▲活跃玩家▼活跃玩家1日留存▲1日留存▼1日留存充值▲充值▼充值付费玩家▲付费玩家▼付费玩家新付费玩家▲新付费玩家▼新付费玩家付费率▲付费率▼付费率ARPU▲ARPU▼ARPUARPPU▲ARPPU▼ARPPU累计付费玩家▲累计付费玩家▼累计付费玩家详情
    {$vo.time}{$game_name}{$promote_name}{$vo.register_num}{$vo.act_user}{$vo.keep_num}%{$vo.spend}{$vo.spend_people}{$vo.new_pop}{$vo.spend_rate}%{$vo.ARPU}{$vo.ARPPU}{$vo.pop_num}查看
    +
    +
    +
    + 导出 + {$_page|default=''} +
    +
    + + + + +if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + + From a29365fed8decf4315cc847f049195967ad1bee0 Mon Sep 17 00:00:00 2001 From: sunke <18850253506@163.com> Date: Wed, 6 May 2020 15:13:09 +0800 Subject: [PATCH 02/62] =?UTF-8?q?=E7=99=BB=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Controller/IndexController.class.php | 63 +++++ .../Home/Controller/SafeController.class.php | 68 +++++ .../Home/View/default/Index/index.html | 1 + .../Home/View/default/Index/phoneLogin.html | 267 ++++++++++++++++++ .../Home/View/default/Safe/bindTel.html | 265 +++++++++++++++++ 5 files changed, 664 insertions(+) create mode 100644 Application/Home/View/default/Index/phoneLogin.html create mode 100644 Application/Home/View/default/Safe/bindTel.html diff --git a/Application/Home/Controller/IndexController.class.php b/Application/Home/Controller/IndexController.class.php index c91fac847..ad19c8d97 100644 --- a/Application/Home/Controller/IndexController.class.php +++ b/Application/Home/Controller/IndexController.class.php @@ -14,6 +14,7 @@ use OT\DataDictionary; use User\Api\PromoteApi; use Home\Controller\DownController; +use Base\Tool\TaskClient; /** * 前台首页控制器 @@ -74,6 +75,12 @@ class IndexController extends HomeController $map['account'] = $account; $data['last_login_time'] = time(); M("promote", "tab_")->where($map)->save($data); + $loginrecord['promote_id'] = get_pid(); + $loginrecord['account'] = $_POST['account']; + $loginrecord['client_ip'] = $_SERVER['REMOTE_ADDR']; + $loginrecord['login_type'] = 1; + $loginrecord['create_time'] = time(); + M("promote_login_record", "tab_")->add($loginrecord); $this->ajaxReturn(array("status" => 1, "msg" => "登录成功", 'url' => U('Promote/index'))); } else { $msg = ""; @@ -99,6 +106,25 @@ class IndexController extends HomeController } } + public function doPhoneLogin($mobile = null, $verify = null) { + if (!$this->checksafecode($mobile, $verify)) { + $this->error('验证码错误'); + } + $promote = M('promote', 'tab_')->where([ + 'login_phone' => $mobile, + ])->find(); + if($promote) { + $loginrecord['promote_id'] = get_pid(); + $loginrecord['account'] = $_POST['account']; + $loginrecord['client_ip'] = $_SERVER['REMOTE_ADDR']; + $loginrecord['login_type'] = 1; + $loginrecord['create_time'] = time(); + M("promote_login_record", "tab_")->add($loginrecord); + setcookie('login_phone', $mobile, time() + 3600 * 10000, $_SERVER["HTTP_HOST"]); + $this->success('登录成功!', U('Promote/index')); + } + } + /* public function register() { if (IS_POST) { @@ -291,4 +317,41 @@ class IndexController extends HomeController $Promote->logout(); redirect(U('Index/index')); } + + public function phoneLogin() { + $this->display(); + } + + /** + * 发动手机验证码 + */ + public function telsafecode($phone = '', $delay = 10, $flag = true) + { + $taskClient = new TaskClient(); + $result = $taskClient->sendSmsCode($phone, get_client_ip()); + $data = []; + if ($result['code'] == TaskClient::SUCCESS) { + $data['status'] = 1; + } else { + $data['status'] = 0; + } + $data['msg'] = $result['message']; + echo json_encode($data); + exit; + } + + /** + * 手机安全码验证 + */ + public function checksafecode($phone, $code) + { + $taskClient = new TaskClient(); + $result = $taskClient->checkSms($phone, $code); + $data = []; + if ($result && $result['code'] == TaskClient::SUCCESS) { + return true; + } else { + return false; + } + } } diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index 5e9d5bede..ba6a98334 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -9,6 +9,7 @@ namespace Home\Controller; use Think\Controller; use Base\Repository\PromoteRepository; +use Base\Tool\TaskClient; /** * 扩展控制器 @@ -559,4 +560,71 @@ class SafeController extends BaseController{ $this->ajaxReturn(['code'=>0000,'mes'=>'删除成功']); } } + + public function bindTel() { + $id = get_pid(); + $promote = M('promote', 'tab_')->where(['id' => $id])->find(); + if(!empty($promote['login_phone'])) { + $this->assign('login_phone', $promote['login_phone']); + } + return $this->display(); + } + + /** + * 发动手机验证码 + */ + public function telsafecode($phone = '', $delay = 10, $flag = true) + { + $taskClient = new TaskClient(); + $result = $taskClient->sendSmsCode($phone, get_client_ip()); + $data = []; + if ($result['code'] == TaskClient::SUCCESS) { + $data['status'] = 1; + } else { + $data['status'] = 0; + } + $data['msg'] = $result['message']; + echo json_encode($data); + exit; + } + + /** + * 手机安全码验证 + */ + public function checksafecode($phone, $code) + { + $taskClient = new TaskClient(); + $result = $taskClient->checkSms($phone, $code); + $data = []; + if ($result && $result['code'] == TaskClient::SUCCESS) { + return true; + } else { + return false; + } + } + + public function addLoginMobile($mobile = null, $verify = null) { + if (IS_POST) { + /* 检测验证码 TODO: */ + + if (!$this->checksafecode($mobile, $verify)) { + $this->error('验证码错误'); + } + $id = get_pid(); + $promote = M('promote', 'tab_')->where([ + 'id' => $id + ])->find(); + if ($promote) { + $promote['login_phone'] = $mobile; + $updateRs = M('promote', 'tab_')->where(['id' => $id])->save($promote); + if($updateRs) { + $this->success("更新登陆手机号成功"); + }else { + $this->error("更新登陆手机号失败"); + } + }else { + $this->error("无此推广账号信息"); + } + } + } } \ No newline at end of file diff --git a/Application/Home/View/default/Index/index.html b/Application/Home/View/default/Index/index.html index 578362aeb..822ac37eb 100644 --- a/Application/Home/View/default/Index/index.html +++ b/Application/Home/View/default/Index/index.html @@ -38,6 +38,7 @@
    +
    diff --git a/Application/Home/View/default/Index/phoneLogin.html b/Application/Home/View/default/Index/phoneLogin.html new file mode 100644 index 000000000..dcaec1ca9 --- /dev/null +++ b/Application/Home/View/default/Index/phoneLogin.html @@ -0,0 +1,267 @@ + + + + + + + +
    +
    + + + +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    +
    + + + + + + \ No newline at end of file diff --git a/Application/Home/View/default/Safe/bindTel.html b/Application/Home/View/default/Safe/bindTel.html new file mode 100644 index 000000000..dbaa93c66 --- /dev/null +++ b/Application/Home/View/default/Safe/bindTel.html @@ -0,0 +1,265 @@ + + + + + + + + +
    +
    + + 手机号绑定 +
    +
    +
    + +
    + + + + + + + + + + + + + + +
    *手机号码 + + + + + + +
    *短信验证码 + + +
    + + +
    +
    + + + +
    +
    +
    + + + + + +
    + + + + + + + + \ No newline at end of file From 86944126094713192112a807c82b71d3c14bada6 Mon Sep 17 00:00:00 2001 From: sunke <18850253506@163.com> Date: Wed, 6 May 2020 15:39:22 +0800 Subject: [PATCH 03/62] =?UTF-8?q?=E7=99=BB=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/Controller/IndexController.class.php | 4 +++- Application/Home/Controller/SafeController.class.php | 5 +++-- Application/Home/View/default/Index/phoneLogin.html | 2 +- Application/Home/View/default/Safe/bindTel.html | 5 ++--- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Application/Home/Controller/IndexController.class.php b/Application/Home/Controller/IndexController.class.php index ad19c8d97..adf2ac5e8 100644 --- a/Application/Home/Controller/IndexController.class.php +++ b/Application/Home/Controller/IndexController.class.php @@ -106,7 +106,9 @@ class IndexController extends HomeController } } - public function doPhoneLogin($mobile = null, $verify = null) { + public function doPhoneLogin() { + $mobile = $_POST['login_phone']; + $verify = $_POST['code']; if (!$this->checksafecode($mobile, $verify)) { $this->error('验证码错误'); } diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index ba6a98334..a37ae670b 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -603,10 +603,11 @@ class SafeController extends BaseController{ } } - public function addLoginMobile($mobile = null, $verify = null) { + public function addLoginMobile() { if (IS_POST) { /* 检测验证码 TODO: */ - + $mobile = $_POST['login_phone']; + $verify = $_POST['code']; if (!$this->checksafecode($mobile, $verify)) { $this->error('验证码错误'); } diff --git a/Application/Home/View/default/Index/phoneLogin.html b/Application/Home/View/default/Index/phoneLogin.html index dcaec1ca9..dca59442c 100644 --- a/Application/Home/View/default/Index/phoneLogin.html +++ b/Application/Home/View/default/Index/phoneLogin.html @@ -25,7 +25,7 @@
    -
    +
    diff --git a/Application/Home/View/default/Safe/bindTel.html b/Application/Home/View/default/Safe/bindTel.html index dbaa93c66..9a6b69d63 100644 --- a/Application/Home/View/default/Safe/bindTel.html +++ b/Application/Home/View/default/Safe/bindTel.html @@ -57,9 +57,9 @@ *短信验证码 - + - + @@ -216,7 +216,6 @@ + + + + + + + +
    + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID标题操作人操作时间操作
    aOh! 暂时还没有内容!
    {$data.id}{$data.name}{:get_admin_nickname($data['creator'])}{$data.created_time|date='Y-m-d H:i:s',###} + 编辑 + 删除 +
    +
    +
    +
    + {$_page|default=''} +
    + + + + + + + + if(C('COLOR_STYLE')=='blue_color') echo ' + + '; + + + + + + + + diff --git a/Application/Admin/View/PromoteCompany/service_agreement_save.html b/Application/Admin/View/PromoteCompany/service_agreement_save.html new file mode 100644 index 000000000..c8356295e --- /dev/null +++ b/Application/Admin/View/PromoteCompany/service_agreement_save.html @@ -0,0 +1,41 @@ + + + +
    +
    服务协议新增
    +
      + +
    • + + +
    • +
    • + + + + {:hook('adminArticleEdit', array('name'=>'content','value'=>$info['content']))} + + +
    • +
    • + +
    • +
    +
    + + + +
    + + + \ No newline at end of file diff --git a/Application/Home/Controller/BaseController.class.php b/Application/Home/Controller/BaseController.class.php index 70d61410b..d9cec83e2 100644 --- a/Application/Home/Controller/BaseController.class.php +++ b/Application/Home/Controller/BaseController.class.php @@ -46,6 +46,11 @@ class BaseController extends HomeController define('G_SETTLEMENT_GRADE', 'sub_status,third_status'); } + if ($loginer['company_id']) { + $company = M('promote_company', 'tab_')->where(['id'=>$loginer['company_id']])->find(); + $this->assign('company', $company); + } + $this->canViewUserRecharge = $this->promoteCan('view-user-recharge'); $this->checkUrlPermission(); diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index 5e9d5bede..d67b04885 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -338,7 +338,14 @@ class SafeController extends BaseController{ $this->assign('addr',json_decode($address)[1]); } $promoteInfo['address'] = json_decode($address); - + // 获取推广员的公司 + $promoteCompany = M('promote_company', 'tab_')->where(['id'=>$promoteInfo['company_id']])->find(); + if ($promoteCompany['service_agreement_show'] > 0) { + $serviceAgreement = M('service_agreement', 'tab_')->where(['id'=>$promoteCompany['service_agreement_show']])->find(); + $serviceAgreement['content'] = $this->renderServiceAgreement($serviceAgreement['content'], $promoteInfo); + $this->assign("serviceAgreement",$serviceAgreement); + } + $this->assign("promoteCompany",$promoteCompany); $this->assign("ver_status",$promoteInfo['ver_status']); $this->assign('promoteinfo', $promoteInfo); @@ -461,37 +468,63 @@ class SafeController extends BaseController{ $this->ajaxReturn($res); } - public function safeDocument() { - $realname = $_REQUEST['realname']; - $phone = $_REQUEST['phone']; - $email = $_REQUEST['email']; - $address = $_REQUEST['address']; - if (empty($realname)) { - $realname = '您未填写真实姓名'; - } - if (empty($email)) { - $email = '您未填写联系邮箱'; - } - if (empty($address)) { - $address = '您未填写注册地址'; - } - if (empty($phone)) { - $phone = '您未填写联系号码'; - } - $time = time(); - $loginPromote = $this->getLoginPromote(); - $sn = date('Ymd') . '-' . strtoupper(substr(md5($loginPromote['id']), 8, 16)); - $endTime = date('Y-m-d',strtotime('+1 year')); - $this->assign('time',date('Y-m-d',$time)); - $this->assign('endTime',$endTime); - $this->assign('sn',$sn); - $this->assign('realname',$realname); - $this->assign('email',$email); - $this->assign('address',$address); - $this->assign('phone',$phone); + public function safeDocument($templateId=0) { + $template = M('service_agreement', 'tab_')->where(['id'=>$templateId])->find(); + $promoteInfo = $this->getLoginPromote(); + + $sn = date('Ymd') . '-' . strtoupper(substr(md5($promoteInfo['id']), 8, 16)); + + $content = $template['content']; + $content = str_replace("{time}", date('Y-m-d'), $content); + $content = str_replace("{sn}", $sn, $content); + $content = str_replace("{endTime}", date('Y-m-d',strtotime('+1 year')), $content); + $content = str_replace("{account}", $promoteInfo['account'], $content); + $content = str_replace("{email}", $promoteInfo['email'], $content); + $content = str_replace("{realname}", $promoteInfo['real_name'], $content); + $content = str_replace("{phone}", $promoteInfo['mobile_phone'], $content); + $content = str_replace("{address}", $promoteInfo['address'], $content); + + // $realname = $_REQUEST['realname']; + // $phone = $_REQUEST['phone']; + // $email = $_REQUEST['email']; + // $address = $_REQUEST['address']; + // if (empty($realname)) { + // $realname = '您未填写真实姓名'; + // } + // if (empty($email)) { + // $email = '您未填写联系邮箱'; + // } + // if (empty($address)) { + // $address = '您未填写注册地址'; + // } + // if (empty($phone)) { + // $phone = '您未填写联系号码'; + // } + // $time = time(); + // $loginPromote = $this->getLoginPromote(); + + // $endTime = date('Y-m-d',strtotime('+1 year')); + // $this->assign('time',date('Y-m-d',$time)); + // $this->assign('endTime',$endTime); + // $this->assign('sn',$sn); + // $this->assign('realname',$realname); + // $this->assign('email',$email); + // $this->assign('address',$address); + // $this->assign('phone',$phone); + $this->assign('content', $content); $this->display(); } + private function renderServiceAgreement($content, $promoteInfo) + { + $content = str_replace("{account}", $promoteInfo['account'], $content); + $content = str_replace("{email}", $promoteInfo['email'], $content); + $content = str_replace("{real_name}", $promoteInfo['real_name'], $content); + $content = str_replace("{mobile_phone}", $promoteInfo['mobile_phone'], $content); + $content = str_replace("{addr}", $promoteInfo['addr'], $content); + return $content; + } + public function promoteLogs() { $page = intval(I('p', 1)); $row = intval(I('row', 10)); diff --git a/Application/Home/View/default/Public/promote_base.html b/Application/Home/View/default/Public/promote_base.html index fdc82b6fa..1e5f1685b 100644 --- a/Application/Home/View/default/Public/promote_base.html +++ b/Application/Home/View/default/Public/promote_base.html @@ -147,10 +147,10 @@
    - - +
    今天是: diff --git a/Application/Home/View/default/Safe/modifyBaseInfo.html b/Application/Home/View/default/Safe/modifyBaseInfo.html index 5edbdd5d2..504a75f51 100644 --- a/Application/Home/View/default/Safe/modifyBaseInfo.html +++ b/Application/Home/View/default/Safe/modifyBaseInfo.html @@ -302,12 +302,14 @@ + 0):?> - 我已仔细阅读,并同意《游戏推广服务框架协议》 + 我已仔细阅读,并同意《'{$serviceAgreement['name']}'》 + @@ -333,19 +335,18 @@ - -
    -

    游戏推广服务框架协议

    -
    -

    本协议由以下双方于{$time}签订:

    -

    合同编号:{$sn}

    -

    甲方:海南万盟天下科技有限公司

    -

    注册地址:海南省海口市南海大道26号海口国家高新区创业孵化中心A楼5层A1-1268室

    -

    联系电话:13067391751

    -

    联系人:雷丽华

    -

    邮箱号:383166987@qq.com

    -

    乙方:{$realname}

    -

    注册地址:{$address}

    -

    联系电话:{$phone}

    -

    联系人:{$realname}

    -

    邮箱号:{$email}

    -

          经甲乙双方协商一致,在平等互利的基础上,就乙方推广甲方拥有知识产权 -或合法授权的游戏(以下简称“产品”)达成如下协议:

    -

    1 合作内容及合作期限

    -

          1.1合作内容:在双方合作期间,乙方以正规合法途径推广甲方拥有知识产 -权或合法授权的游戏产品,为甲方产品导入用户,甲方根据乙方导入用户产生的 -消费向乙方支付推广服务费。

    -

          1.2本协议有效期自{$time}起至{$endTime}止。

    -

          1.3本协议为甲乙双方之间推广服务的框架性协议,具体合作游戏的付费金 -额、渠道等未尽事宜详见双方签订的附件《游戏推广服务协议》,甲乙双方在合 -作期限内签订的所有附件《游戏推广服务协议》均为本框架协议的组成部分。乙方使用甲方的合作渠道应当严格遵守合作渠道已经发布的或将来可能发布或修 -订的各种规则制度、条款、帮助、提示文档等规定,若乙方有存在违反的行为乙 -方愿意接受该规定的处理措施,合作渠道中新发布或修订的内容经本协议8.3 -条通知送达后若乙方未按照8.3条提出异议并停止使用合作渠道的,视为乙方接 -受并同意遵守合作渠道发布的内容,关于异议部分双方无法协商一致的,甲方有 -权单方终止本协议。附件《游戏推广服务协议》或本框架协议组成部分与本框架 -协议约定不符的,以最新签订的《游戏推广服务协议》或协议为准。

    -

    2 甲方的权利及义务

    -

          2.1甲方负责合作产品内容及运营的合法性。

    -

          2.2甲方负责维护各推广渠道的产品的内容更新;甲方负责产品内容及其传 -播的合法性、适当性。甲方承诺其享有提供给乙方的全部产品内容及其组成部分 -的相关知识产权等权利或有合法授权。

    -

    3 乙方的权利及义务

    -

          3.1乙方需利用自身资源将潜在用户导入到甲方提供的游戏系统内,推广甲 -方的产品,提升甲方产品的付费用户的导入,对于甲方产品以外的推广,甲方将 -不予支付推广服务费。

    -

          3.2乙方应自行负责并保证其组织、推广活动的合法性,乙方组织、推广甲 -方产品活动不得有虚假或者引人误解的内容,不得进行不正当竞争行为,不得欺 -骗、误导玩家,不得损害甲方商誉或侵害任何第三方合法权益等行为。

    -

          3.3乙方违反3.2条规定引发的一切争议、责任由乙方自行负责处理、承担, -与甲方无关;若因此损害甲方声誉的或造成甲方损失的,乙方应承担赔偿责任。 -若甲方发现乙方违反3.2条规定,甲方有权暂停结算,因此引起的一切纠纷和责 -任均由乙方承担,甲方有权直接从任何应支付给乙方的款项中直接扣除,并且甲 -方有权立即终止本协议。

    -

          3.4乙方保证其推广成果的真实有效,否则甲方有权利拒绝支付相应部分的 -推广服务费。

    -

          3.5未经甲方事先书面同意,乙方不得将本协议项下的任何权利或义务全部或部分转让、分包或委托给任何第三方,否则甲方有权随时提前终止本协议并追 -究乙方的违约责任。甲方有权将本协议项下的任何权利或义务全部或部分转让给 -其他公司,而无须另行征得乙方的同意。

    - -

    4 结算方式

    -

          4.1甲方按照乙方完成的每款产品推广付费金额支付服务费。乙方的推广服 -务费=推广付费总金额×(乙方推广服务费比例+补点比例)×(1-税费费率), -每款产品推广服务费比例、税费费率、补点比例等由甲乙双方在《游戏推广服务 -协议》中另行约定。

    -

          4.2结算周期:按自然月进行结算,本协议合作期内合作游戏有效用户产生 -的游戏运营收入后的次月前七个工作日内对账(如遇节假休息日则顺延),乙方 -在甲方指定的后台核对乙方导入的付费总金额后申请结算(数据以甲方指定的后 -台为准),甲方将上一月产生的属于乙方的合作分成费用款项向乙方分别出具结 -算单,乙方在收到并确认甲方结算单后的5个工作日内,乙方在结算单加盖公章 -(公章公司名称必须与协议公司名称完全一致)并向甲方开具等额发票,发票类 -型为增值税专用发票(内容为信息服务费),发票抬头为“海南万盟天下科技有 -限公司”,盖好章的结算单与发票一并交付给甲方。

    -

          4.3推广服务费支付时间:甲方在收到乙方开具的正式发票及加盖公章的结 -算单后5日内将双方确认的应结款项支付到协议约定的乙方账户号。(如遇节假 -日或休息日则相应顺延,或者其他特殊情况应提前通知后可以延后打款,且甲方 -无需支付滞纳金)

    -

    甲乙双方账户信息如下:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    甲方信息乙方信息
    纳税人识别号海南万盟天下科技有限公司
    开户行中国工商银行股份有限公司 -海口海德路支行
    地址海南省海口市南海大道26号 -海口国家高新区创业孵化中 -心A楼5层A1-1268室
    电话13067391751
    银行账号2201021709200030067
    - -

          4.4乙方不得擅自变更上述收款账户,如确需变更账户,乙方应当在变更前 -书面通知甲方,经甲方同意后就变更账户事项双方另行签订补充或变更协议,协 -议生效后变更账户方得以生效,否则甲方就乙方变更前的账户进行的所有支付均 -视为乙方已收到甲方的支付款项,由乙方自行承担相应法律后果,乙方不得向甲 -方再主张支付。

    -

    5 保密条款

    -

          5.1未经对方书面许可或本协议另有约定,任何一方禁止向与履行本协议无 -关的任何第三方或雇员泄露本协议的条款的任何内容以及本协议的签订及履行 -情况,以及通过签订和履行本协议过程中获知的对方及对方关联公司或对方提供 -的任何信息和数据资料。但确为本协议履行之必需任何一方(以下简称披露方) -可向其法律、会计、商业及其它顾问、授权雇员(统称“接收方代表”)披露前 -述信息,披露前提是披露方须提前明确告知接收方代表关于本协议的保密义务, -接收方代表明确同意承担与本协议中所规定的保密义务相同或更严格的保密义 -务,如果接收方代表违反保密义务的与披露方连带承担赔偿责任或违约责任。

    -

          5.2本协议有效期内及终止后5年内,保密条款仍具有法律效力。如有违反, -违约方应承担由此给守约方造成的一切损失【包含一方因违约方的违约行为而遭 -致的全部直接经济损失及任何可预期的间接损失及额外的费用(包括但不限于律 -师费用、诉讼及仲裁费用、申请执行费用、财务费用及差旅费等详见本协议7.3 -条)】或向守约方支付本协议项下双方结算的所有推广服务费合计金额五倍的违 -约金。

    -

          5.3未经对方事先书面许可,任何一方均不得就本协议发表任何公开声明。

    - -

    6 不可抗力条款

    -

          6.1不可抗力:如果出现不可抗力,双方在本协议中的义务在不可抗力影响 -范围及其持续期间内将中止履行。合作期限可根据中止的期限而作相应延长,但 -须双方协商一致。任何一方均不会因此而承担责任。声称遭受不可抗力的一方应 -在不可抗力发生后不迟于十五(15)日内通知另一方,并随附经有关部门确认的不 -可抗力书面证明,且应尽可能减少不可抗力所产生之损害。

    -

          6.2本协议中的不可抗力是指无法预见、无法避免、无法克服、非任何一 -方所能控制且使任何一方无法部分或完全履行本协议的地震、台风、火灾、水灾、 -战争、罢工、暴动、黑客攻击、电信部门技术调整和政府管制、病毒侵袭、系统 -故障或任何其它自然或人为造成的灾难和意外事件。

    - -

    7 违约责任

    -

          7.1除本协议另有约定外,任何一方直接或间接违反本协议的任何条款,或 -不承担或不及时、充分地承担本协议项下其应承担的义务即构成违约行为,守约 -方有权以书面通知要求违约方纠正其违约行为并采取充分、有效、及时的措施消 -除违约后果,并赔偿守约方因违约方之违约行为而遭致的损失。若违约方在收到 -守约方关于其违约行为的上述通知后10日内未纠正其违约行为,守约方有权以 -书面通知的方式单方提前解除本协议,并追究违约方之违约责任。

    -

          7.2经数据核对甲方认为乙方未按合作产品规则内容进行推广或未达到规 -则要求的,甲方有权利单方面解除本协议,乙方应按照合作产品规定或约定标准 -支付违约金,违约金不足以弥补给甲方造成损失的,乙方还应赔偿损失。

    -

          7.3本协议所指守约方的损失包括但不限于守约方因主张违约方的违约赔 -偿责任而支出的律师费、诉讼费用、差旅费、交通费、调查费、评估费、鉴定费、 -公告费、公证费、审计费用等等。

    -

    8 通知

    -

          8.1双方确认本协议首部双方的通讯地址、邮箱、电话为真实有效的,并且 -同意作为双方或人民法院或仲裁机构向各方送达(包含电子方式送达)相关文书 -的送达地址,依据通讯地址、邮箱、电话向一方发出与本协议相关的任何通知、 -协议或其他有关文件或法律文书的,无论该方是否签收(包括但不限于拒收、查 -无此人、下落不明等)均视为有效送达。

    -

          8.2如果一方需要变更通讯地址及方式(含联系人)的,应在变更前五日内及时将变更的情况书面通知另一方,变更后的通讯地址及方式(含联系人)自被 -通知方实际收到时生效,在变更后的通讯地址及方式(含联系人)生效前,另一 -方就以变更前的通讯地址及方式送达文件的即视为有效送达。

    -

          8.3除上述通知形式外,甲方有权单方在甲方渠道以网页公告、网页提示、 -电子邮箱、手机短信、QQ、发送站内信等方式中的一种或多种,向乙方送达发布 -或修订的规则制度、用户协议、隐私政策、公告通知等内容,一经甲方采取前述 -任何一种方式公布或发送,即视为送达。若乙方收到通知后对内容存在异议的, -应在收到通知后24小时内提出异议并且停止使用合作渠道,否则均视为乙方已 -充分阅读、理解并接受遵守甲方发布或修订的内容,并与甲方达成协议,甲方有 -权按照渠道发布内容对乙方进行管理。

    - -

    9 其他条款

    -

          9.1本协议之未尽事宜应按照中国法律规定执行,不足之处双方应当本着诚 -实信用的原则协商并另行签订补充协议,补充协议与本协议条款不一致时,以最 -新签订的补充协议为准。如果协商不能解决,任何一方均可以向原告方所在地人 -民法院提起诉讼解决。

    -

          9.2本协议的注解、附件、补充协议以及经甲方发布的渠道使用规则制度、 -用户协议、隐私政策、公告通知等为本协议组成部分,与本协议具有同等法律效 -力。

    -

          9.3本协议自双方签字或盖章之日起生效。本协议壹式肆份,双方各留存贰 -份,每份具有同等法律效力。本协议的任何条款部分或全部无效的,不影响其它 -条款的效力。

    -



    - -
    - -



    -



    -
    + {$content} - diff --git a/Data/update.sql b/Data/update.sql index 57205c85b..9b03ebe84 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -1753,3 +1753,21 @@ ADD COLUMN `old_change_promote_account` varchar(30) NULL COMMENT '修改配置 --聚合渠道结算单 zyx 20200515 INSERT INTO `tab_tool`( `name`, `title`, `config`, `template`, `type`, `status`, `create_time`) VALUES ('juhedata', '聚合数据', '{\"tpl_id\":\"215303\",\"key\":\"1aa07a33b6d6408e835e416fafcd6f22\",\"limit\":\"\",\"status\":\"1\"}', NULL, 1, 1, 1589361782); INSERT INTO `tab_tool`( `name`, `title`, `config`, `template`, `type`, `status`, `create_time`) VALUES ('juhe_age', '聚合身份认证', '{\"appkey\":\"80427f4769c6938f12a870f51014ddbe\",\"status\":\"1\"}', NULL, 1, 1, 1464164373); + + +--合作公司新增展示状态 +ALTER TABLE `tab_promote_company` +ADD COLUMN `service_agreement_show` int(11) UNSIGNED NOT NULL DEFAULT 1 COMMENT '展示状态 1展示 2不展示' AFTER `content`, +ADD COLUMN `marketing_director_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 2 COMMENT '市场总结展示 1展示 2不展示' AFTER `show_status`; + +--插入默认的模板 + +CREATE TABLE `tab_service_agreement` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '协议标题', + `content` text COLLATE utf8mb4_bin, + `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '状态 1正常 2删除', + `creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者', + `created_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; \ No newline at end of file From af5b215f8bc231876da38d88e04e05e4494dd401 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Thu, 11 Jun 2020 15:36:35 +0800 Subject: [PATCH 15/62] upt --- Application/Home/Controller/SafeController.class.php | 2 +- Data/update.sql | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index d67b04885..31e71ad6c 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -482,7 +482,7 @@ class SafeController extends BaseController{ $content = str_replace("{email}", $promoteInfo['email'], $content); $content = str_replace("{realname}", $promoteInfo['real_name'], $content); $content = str_replace("{phone}", $promoteInfo['mobile_phone'], $content); - $content = str_replace("{address}", $promoteInfo['address'], $content); + $content = str_replace("{address}", json_decode($promoteInfo['address'],true)[1] ?? '', $content); // $realname = $_REQUEST['realname']; // $phone = $_REQUEST['phone']; diff --git a/Data/update.sql b/Data/update.sql index 9b03ebe84..ae5b8a893 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -1757,17 +1757,19 @@ INSERT INTO `tab_tool`( `name`, `title`, `config`, `template`, `type`, `status`, --合作公司新增展示状态 ALTER TABLE `tab_promote_company` -ADD COLUMN `service_agreement_show` int(11) UNSIGNED NOT NULL DEFAULT 1 COMMENT '展示状态 1展示 2不展示' AFTER `content`, -ADD COLUMN `marketing_director_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 2 COMMENT '市场总结展示 1展示 2不展示' AFTER `show_status`; +ADD COLUMN `service_agreement_show` int(11) UNSIGNED NOT NULL DEFAULT 1 COMMENT '展示状态 1展示 2不展示', +ADD COLUMN `marketing_director_show` tinyint(1) UNSIGNED NOT NULL DEFAULT 2 COMMENT '市场总结展示 1展示 2不展示'; --插入默认的模板 CREATE TABLE `tab_service_agreement` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '协议标题', - `content` text COLLATE utf8mb4_bin, + `content` longtext COLLATE utf8mb4_bin, `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '状态 1正常 2删除', `creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者', `created_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; \ No newline at end of file +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +INSERT INTO `tab_service_agreement` (`id`, `name`, `content`, `status`, `creator`, `created_time`) VALUES ('1', '默认模板', '

    \r\n
    \r\n

    \r\n

    \r\n 游戏推广服务框架协议\r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n 本协议由以下双方于{time}签订:
    \r\n合同编号:{sn}
    \r\n甲方:海南万盟天下科技有限公司
    \r\n注册地址:海南省海口市南海大道26号海口国家高新区创业孵化中心A楼5层A1-1268室
    \r\n联系电话:13067391751
    \r\n联系人:雷丽华
    \r\n邮箱号:383166987@qq.com
    \r\n乙方:{realname}
    \r\n注册地址:{address}
    \r\n联系电话:{phone}
    \r\n联系人:{realname}
    \r\n邮箱号:{email}
    \r\n      经甲乙双方协商一致,在平等互利的基础上,就乙方推广甲方拥有知识产权 或合法授权的游戏(以下简称“产品”)达成如下协议:
    \r\n1 合作内容及合作期限
    \r\n      1.1合作内容:在双方合作期间,乙方以正规合法途径推广甲方拥有知识产 权或合法授权的游戏产品,为甲方产品导入用户,甲方根据乙方导入用户产生的 消费向乙方支付推广服务费。
    \r\n      1.2本协议有效期自{time}起至{endTime}止。
    \r\n      1.3本协议为甲乙双方之间推广服务的框架性协议,具体合作游戏的付费金 额、渠道等未尽事宜详见双方签订的附件《游戏推广服务协议》,甲乙双方在合 作期限内签订的所有附件《游戏推广服务协议》均为本框架协议的组成部分。乙方使用甲方的合作渠道应当严格遵守合作渠道已经发布的或将来可能发布或修 订的各种规则制度、条款、帮助、提示文档等规定,若乙方有存在违反的行为乙 方愿意接受该规定的处理措施,合作渠道中新发布或修订的内容经本协议8.3 条通知送达后若乙方未按照8.3条提出异议并停止使用合作渠道的,视为乙方接 受并同意遵守合作渠道发布的内容,关于异议部分双方无法协商一致的,甲方有 权单方终止本协议。附件《游戏推广服务协议》或本框架协议组成部分与本框架 协议约定不符的,以最新签订的《游戏推广服务协议》或协议为准。
    \r\n2 甲方的权利及义务
    \r\n      2.1甲方负责合作产品内容及运营的合法性。
    \r\n      2.2甲方负责维护各推广渠道的产品的内容更新;甲方负责产品内容及其传 播的合法性、适当性。甲方承诺其享有提供给乙方的全部产品内容及其组成部分 的相关知识产权等权利或有合法授权。
    \r\n3 乙方的权利及义务
    \r\n      3.1乙方需利用自身资源将潜在用户导入到甲方提供的游戏系统内,推广甲 方的产品,提升甲方产品的付费用户的导入,对于甲方产品以外的推广,甲方将 不予支付推广服务费。
    \r\n      3.2乙方应自行负责并保证其组织、推广活动的合法性,乙方组织、推广甲 方产品活动不得有虚假或者引人误解的内容,不得进行不正当竞争行为,不得欺 骗、误导玩家,不得损害甲方商誉或侵害任何第三方合法权益等行为。
    \r\n      3.3乙方违反3.2条规定引发的一切争议、责任由乙方自行负责处理、承担, 与甲方无关;若因此损害甲方声誉的或造成甲方损失的,乙方应承担赔偿责任。 若甲方发现乙方违反3.2条规定,甲方有权暂停结算,因此引起的一切纠纷和责 任均由乙方承担,甲方有权直接从任何应支付给乙方的款项中直接扣除,并且甲 方有权立即终止本协议。
    \r\n      3.4乙方保证其推广成果的真实有效,否则甲方有权利拒绝支付相应部分的 推广服务费。
    \r\n      3.5未经甲方事先书面同意,乙方不得将本协议项下的任何权利或义务全部或部分转让、分包或委托给任何第三方,否则甲方有权随时提前终止本协议并追 究乙方的违约责任。甲方有权将本协议项下的任何权利或义务全部或部分转让给 其他公司,而无须另行征得乙方的同意。
    \r\n4 结算方式
    \r\n      4.1甲方按照乙方完成的每款产品推广付费金额支付服务费。乙方的推广服 务费=推广付费总金额×(乙方推广服务费比例+补点比例)×(1-税费费率), 每款产品推广服务费比例、税费费率、补点比例等由甲乙双方在《游戏推广服务 协议》中另行约定。
    \r\n      4.2结算周期:按自然月进行结算,本协议合作期内合作游戏有效用户产生 的游戏运营收入后的次月前七个工作日内对账(如遇节假休息日则顺延),乙方 在甲方指定的后台核对乙方导入的付费总金额后申请结算(数据以甲方指定的后 台为准),甲方将上一月产生的属于乙方的合作分成费用款项向乙方分别出具结 算单,乙方在收到并确认甲方结算单后的5个工作日内,乙方在结算单加盖公章 (公章公司名称必须与协议公司名称完全一致)并向甲方开具等额发票,发票类 型为增值税专用发票(内容为信息服务费),发票抬头为“海南万盟天下科技有 限公司”,盖好章的结算单与发票一并交付给甲方。
    \r\n      4.3推广服务费支付时间:甲方在收到乙方开具的正式发票及加盖公章的结 算单后5日内将双方确认的应结款项支付到协议约定的乙方账户号。(如遇节假 日或休息日则相应顺延,或者其他特殊情况应提前通知后可以延后打款,且甲方 无需支付滞纳金)
    \r\n甲乙双方账户信息如下:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n 甲方信息\r\n \r\n 乙方信息\r\n
    \r\n 纳税人识别号\r\n \r\n 海南万盟天下科技有限公司\r\n \r\n
    \r\n 开户行\r\n \r\n 中国工商银行股份有限公司 海口海德路支行\r\n \r\n
    \r\n 地址\r\n \r\n 海南省海口市南海大道26号 海口国家高新区创业孵化中 心A楼5层A1-1268室\r\n \r\n
    \r\n 电话\r\n \r\n 13067391751\r\n \r\n
    \r\n 银行账号\r\n \r\n 2201021709200030067\r\n
    \r\n      4.4乙方不得擅自变更上述收款账户,如确需变更账户,乙方应当在变更前 书面通知甲方,经甲方同意后就变更账户事项双方另行签订补充或变更协议,协 议生效后变更账户方得以生效,否则甲方就乙方变更前的账户进行的所有支付均 视为乙方已收到甲方的支付款项,由乙方自行承担相应法律后果,乙方不得向甲 方再主张支付。
    \r\n5 保密条款
    \r\n      5.1未经对方书面许可或本协议另有约定,任何一方禁止向与履行本协议无 关的任何第三方或雇员泄露本协议的条款的任何内容以及本协议的签订及履行 情况,以及通过签订和履行本协议过程中获知的对方及对方关联公司或对方提供 的任何信息和数据资料。但确为本协议履行之必需任何一方(以下简称披露方) 可向其法律、会计、商业及其它顾问、授权雇员(统称“接收方代表”)披露前 述信息,披露前提是披露方须提前明确告知接收方代表关于本协议的保密义务, 接收方代表明确同意承担与本协议中所规定的保密义务相同或更严格的保密义 务,如果接收方代表违反保密义务的与披露方连带承担赔偿责任或违约责任。
    \r\n      5.2本协议有效期内及终止后5年内,保密条款仍具有法律效力。如有违反, 违约方应承担由此给守约方造成的一切损失【包含一方因违约方的违约行为而遭 致的全部直接经济损失及任何可预期的间接损失及额外的费用(包括但不限于律 师费用、诉讼及仲裁费用、申请执行费用、财务费用及差旅费等详见本协议7.3 条)】或向守约方支付本协议项下双方结算的所有推广服务费合计金额五倍的违 约金。
    \r\n      5.3未经对方事先书面许可,任何一方均不得就本协议发表任何公开声明。
    \r\n6 不可抗力条款
    \r\n      6.1不可抗力:如果出现不可抗力,双方在本协议中的义务在不可抗力影响 范围及其持续期间内将中止履行。合作期限可根据中止的期限而作相应延长,但 须双方协商一致。任何一方均不会因此而承担责任。声称遭受不可抗力的一方应 在不可抗力发生后不迟于十五(15)日内通知另一方,并随附经有关部门确认的不 可抗力书面证明,且应尽可能减少不可抗力所产生之损害。
    \r\n      6.2本协议中的不可抗力是指无法预见、无法避免、无法克服、非任何一 方所能控制且使任何一方无法部分或完全履行本协议的地震、台风、火灾、水灾、 战争、罢工、暴动、黑客攻击、电信部门技术调整和政府管制、病毒侵袭、系统 故障或任何其它自然或人为造成的灾难和意外事件。
    \r\n7 违约责任
    \r\n      7.1除本协议另有约定外,任何一方直接或间接违反本协议的任何条款,或 不承担或不及时、充分地承担本协议项下其应承担的义务即构成违约行为,守约 方有权以书面通知要求违约方纠正其违约行为并采取充分、有效、及时的措施消 除违约后果,并赔偿守约方因违约方之违约行为而遭致的损失。若违约方在收到 守约方关于其违约行为的上述通知后10日内未纠正其违约行为,守约方有权以 书面通知的方式单方提前解除本协议,并追究违约方之违约责任。
    \r\n      7.2经数据核对甲方认为乙方未按合作产品规则内容进行推广或未达到规 则要求的,甲方有权利单方面解除本协议,乙方应按照合作产品规定或约定标准 支付违约金,违约金不足以弥补给甲方造成损失的,乙方还应赔偿损失。
    \r\n      7.3本协议所指守约方的损失包括但不限于守约方因主张违约方的违约赔 偿责任而支出的律师费、诉讼费用、差旅费、交通费、调查费、评估费、鉴定费、 公告费、公证费、审计费用等等。
    \r\n8 通知
    \r\n      8.1双方确认本协议首部双方的通讯地址、邮箱、电话为真实有效的,并且 同意作为双方或人民法院或仲裁机构向各方送达(包含电子方式送达)相关文书 的送达地址,依据通讯地址、邮箱、电话向一方发出与本协议相关的任何通知、 协议或其他有关文件或法律文书的,无论该方是否签收(包括但不限于拒收、查 无此人、下落不明等)均视为有效送达。
    \r\n      8.2如果一方需要变更通讯地址及方式(含联系人)的,应在变更前五日内及时将变更的情况书面通知另一方,变更后的通讯地址及方式(含联系人)自被 通知方实际收到时生效,在变更后的通讯地址及方式(含联系人)生效前,另一 方就以变更前的通讯地址及方式送达文件的即视为有效送达。
    \r\n      8.3除上述通知形式外,甲方有权单方在甲方渠道以网页公告、网页提示、 电子邮箱、手机短信、QQ、发送站内信等方式中的一种或多种,向乙方送达发布 或修订的规则制度、用户协议、隐私政策、公告通知等内容,一经甲方采取前述 任何一种方式公布或发送,即视为送达。若乙方收到通知后对内容存在异议的, 应在收到通知后24小时内提出异议并且停止使用合作渠道,否则均视为乙方已 充分阅读、理解并接受遵守甲方发布或修订的内容,并与甲方达成协议,甲方有 权按照渠道发布内容对乙方进行管理。
    \r\n9 其他条款
    \r\n      9.1本协议之未尽事宜应按照中国法律规定执行,不足之处双方应当本着诚 实信用的原则协商并另行签订补充协议,补充协议与本协议条款不一致时,以最 新签订的补充协议为准。如果协商不能解决,任何一方均可以向原告方所在地人 民法院提起诉讼解决。
    \r\n      9.2本协议的注解、附件、补充协议以及经甲方发布的渠道使用规则制度、 用户协议、隐私政策、公告通知等为本协议组成部分,与本协议具有同等法律效 力。

    \r\n       9.3本协议自双方签字或盖章之日起生效。本协议壹式肆份,双方各留存贰 份,每份具有同等法律效力。本协议的任何条款部分或全部无效的,不影响其它 条款的效力。\r\n

    \r\n
    ', '1', '1', '1591781995'); From 3530456cfaddb8ad8f9fd47d8db3609e2df1da83 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Thu, 11 Jun 2020 15:43:59 +0800 Subject: [PATCH 16/62] upt --- Application/Admin/Controller/PromoteCompanyController.class.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Application/Admin/Controller/PromoteCompanyController.class.php b/Application/Admin/Controller/PromoteCompanyController.class.php index 91efcf099..007454ea5 100644 --- a/Application/Admin/Controller/PromoteCompanyController.class.php +++ b/Application/Admin/Controller/PromoteCompanyController.class.php @@ -604,6 +604,8 @@ WHERE old_change_promote_id in ({$promoteData})"; } else { if ($id) { if ($delete) { + $useingService = M('promote_company')->where(['service_agreement_show'=>$id])->find(); + if (!empty($useingService)) return $this->error('有正在使用该服务协议的公司,无法删除'); $result = M('service_agreement', 'tab_')->where(['id'=>$id])->delete(); return $result ? $this->success('删除完成') : $this->error('删除失败'); } From 02f52412c1e081202c89a9e02b091effd3d632a0 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Thu, 11 Jun 2020 15:59:24 +0800 Subject: [PATCH 17/62] upt --- .../Admin/View/PromoteCompany/add.html | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Application/Admin/View/PromoteCompany/add.html b/Application/Admin/View/PromoteCompany/add.html index 2b822624f..cd9289dc6 100644 --- a/Application/Admin/View/PromoteCompany/add.html +++ b/Application/Admin/View/PromoteCompany/add.html @@ -203,7 +203,20 @@
    - + + 市场总监信息展示: + + + + + + + + @@ -313,7 +326,9 @@ "bank_name":["nocheck","银行名称不能为空"], "bank_address":["nocheck","银行开户网点不能为空"], "content":["nocheck"], - "status":["nocheck","","radio"] + "status":["nocheck","","radio"], + "service_agreement_show":["nocheck","","select"], + "marketing_director_show":["nocheck","","radio"], } var cres = CIC.checkAddInput(obj); if(!cres){ From bbb7cb23f65a5c7e179464ea7fe31cd60b36dcd2 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Thu, 11 Jun 2020 16:23:56 +0800 Subject: [PATCH 18/62] upt --- Application/Admin/Controller/PromoteCompanyController.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/Admin/Controller/PromoteCompanyController.class.php b/Application/Admin/Controller/PromoteCompanyController.class.php index 007454ea5..4ec99e052 100644 --- a/Application/Admin/Controller/PromoteCompanyController.class.php +++ b/Application/Admin/Controller/PromoteCompanyController.class.php @@ -604,7 +604,7 @@ WHERE old_change_promote_id in ({$promoteData})"; } else { if ($id) { if ($delete) { - $useingService = M('promote_company')->where(['service_agreement_show'=>$id])->find(); + $useingService = M('promote_company', 'tab_')->where(['service_agreement_show'=>$id])->find(); if (!empty($useingService)) return $this->error('有正在使用该服务协议的公司,无法删除'); $result = M('service_agreement', 'tab_')->where(['id'=>$id])->delete(); return $result ? $this->success('删除完成') : $this->error('删除失败'); From e6c8b511277555a4a731ede8e7977fd3f61bfba5 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Thu, 11 Jun 2020 17:11:06 +0800 Subject: [PATCH 19/62] upt --- .../Controller/PromoteCompanyController.class.php | 11 ++++++++++- .../View/PromoteCompany/service_agreement_list.html | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Application/Admin/Controller/PromoteCompanyController.class.php b/Application/Admin/Controller/PromoteCompanyController.class.php index 4ec99e052..54fb16bb2 100644 --- a/Application/Admin/Controller/PromoteCompanyController.class.php +++ b/Application/Admin/Controller/PromoteCompanyController.class.php @@ -575,7 +575,9 @@ WHERE old_change_promote_id in ({$promoteData})"; if (!empty($_GET['title'])) { $map['title'] = ['like', "%{$_GET['title']}%"]; } - $list = M('service_agreement', 'tab_')->where($map)->page($p, $row)->select(); + $list = M('service_agreement', 'tab_') + ->field("tab_service_agreement.*, group_concat(distinct(tab_promote_company.company_name)) as company_name") + ->join('tab_promote_company on tab_promote_company.service_agreement_show = tab_service_agreement.id', 'LEFT')->where($map)->page($p, $row)->order("status desc")->select(); $count = M('service_agreement', 'tab_')->where($map)->count(); $page = set_pagination($count, $row); if ($page) { @@ -617,4 +619,11 @@ WHERE old_change_promote_id in ({$promoteData})"; } } + public function serviceAgreementSetDefault($id) + { + M('service_agreement', 'tab_')->save(['status'=>1]); + M('service_agreement', 'tab_')->where(['id'=>$id])->save(['status'=>2]); + return $this->success('设置完成'); + } + } diff --git a/Application/Admin/View/PromoteCompany/service_agreement_list.html b/Application/Admin/View/PromoteCompany/service_agreement_list.html index 3f5c27d89..5770762cc 100644 --- a/Application/Admin/View/PromoteCompany/service_agreement_list.html +++ b/Application/Admin/View/PromoteCompany/service_agreement_list.html @@ -60,6 +60,8 @@ --> + + @@ -75,9 +77,14 @@ + + From 93601a33029df40a469f591d851c29256ef13d7c Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Fri, 12 Jun 2020 16:18:13 +0800 Subject: [PATCH 20/62] upt --- .../PromoteCompanyController.class.php | 30 ++++++++++++++----- .../Admin/View/PromoteCompany/lists.html | 21 +++++++++++-- .../service_agreement_list.html | 20 ++++++++----- 3 files changed, 54 insertions(+), 17 deletions(-) diff --git a/Application/Admin/Controller/PromoteCompanyController.class.php b/Application/Admin/Controller/PromoteCompanyController.class.php index 54fb16bb2..512e9206b 100644 --- a/Application/Admin/Controller/PromoteCompanyController.class.php +++ b/Application/Admin/Controller/PromoteCompanyController.class.php @@ -305,6 +305,12 @@ class PromoteCompanyController extends ThinkController $this->assign('data', $data); $this->display(); } + + public function marketingDirectorShow($ids=[], $isShow=0) + { + $upt = M('promote_company','tab_')->where(['id'=>['in', $ids]])->save(['marketing_director_show'=>$isShow]); + return $upt ? $this->success('更新成功'): $this->error('更新失败'); + } //编辑 @@ -577,7 +583,7 @@ WHERE old_change_promote_id in ({$promoteData})"; } $list = M('service_agreement', 'tab_') ->field("tab_service_agreement.*, group_concat(distinct(tab_promote_company.company_name)) as company_name") - ->join('tab_promote_company on tab_promote_company.service_agreement_show = tab_service_agreement.id', 'LEFT')->where($map)->page($p, $row)->order("status desc")->select(); + ->join('tab_promote_company on tab_promote_company.service_agreement_show = tab_service_agreement.id', 'LEFT')->where($map)->group('tab_service_agreement.id asc')->page($p, $row)->order("status desc")->select(); $count = M('service_agreement', 'tab_')->where($map)->count(); $page = set_pagination($count, $row); if ($page) { @@ -590,6 +596,20 @@ WHERE old_change_promote_id in ({$promoteData})"; public function serviceAgreementSave($id=0, $delete=0) { if (IS_POST) { + if (!empty(I('ids'))) { + $ids = is_array(I('ids')) ? I('ids') : [I('ids')]; + if ($delete) { + // 获取默认合同id + $defaultService = M('service_agreement', 'tab_')->where(['status'=>2])->find(); + if(in_array($defaultService['id'], $ids)) { + return $this->error('无法删除默认模板'); + } + $useingService = M('promote_company', 'tab_')->where(['service_agreement_show'=>['in', $ids]])->find(); + if (!empty($useingService)) return $this->error('有正在使用该服务合同的公司,无法删除'); + $result = M('service_agreement', 'tab_')->where(['id'=>['in', $ids]])->delete(); + return $result ? $this->success('删除完成') : $this->error('删除失败'); + } + } if (empty($_POST['name']) || empty($_POST['content'])) { return $this->error('请填写完整内容'); } @@ -604,13 +624,7 @@ WHERE old_change_promote_id in ({$promoteData})"; return $result ? $this->success('生成协议完成') : $this->error('生成协议失败'); } } else { - if ($id) { - if ($delete) { - $useingService = M('promote_company', 'tab_')->where(['service_agreement_show'=>$id])->find(); - if (!empty($useingService)) return $this->error('有正在使用该服务协议的公司,无法删除'); - $result = M('service_agreement', 'tab_')->where(['id'=>$id])->delete(); - return $result ? $this->success('删除完成') : $this->error('删除失败'); - } + if (!empty($id)) { $info = M('service_agreement', 'tab_')->where(['id'=>$id])->find(); if (empty($info)) return $this->error('未找到协议'); $this->assign('info', $info); diff --git a/Application/Admin/View/PromoteCompany/lists.html b/Application/Admin/View/PromoteCompany/lists.html index 27564e782..d2a55b961 100644 --- a/Application/Admin/View/PromoteCompany/lists.html +++ b/Application/Admin/View/PromoteCompany/lists.html @@ -34,14 +34,18 @@ padding: 3px; height: 30px; } - + .clearfix:after { + content:""; + display: block; + clear:both; + } -
    +
    新增 @@ -91,6 +95,15 @@
    + +
    @@ -98,6 +111,9 @@
    + @@ -125,6 +141,7 @@ + - + @@ -74,11 +74,15 @@ - + - + - + + + + + + + @@ -207,5 +216,53 @@ _reset_area('','',''); }); + + \ No newline at end of file diff --git a/Application/Home/View/default/Safe/setSafeIndex.html b/Application/Home/View/default/Safe/setSafeIndex.html index 78a792b8d..d429b556b 100644 --- a/Application/Home/View/default/Safe/setSafeIndex.html +++ b/Application/Home/View/default/Safe/setSafeIndex.html @@ -37,24 +37,32 @@
    - - 设置安全密码 + 修改安全密码
    - -
    -
    ID 标题是否默认合同应用公司 操作人 操作时间 操作 {$data.id} {$data.name}{$data.status} {:get_admin_nickname($data['creator'])} {$data.created_time|date='Y-m-d H:i:s',###} + + 设置默认 + 编辑 删除
    + + 操作 合作方名称 对应平台
    查看 编辑 diff --git a/Application/Admin/View/PromoteCompany/service_agreement_list.html b/Application/Admin/View/PromoteCompany/service_agreement_list.html index 5770762cc..4c616895b 100644 --- a/Application/Admin/View/PromoteCompany/service_agreement_list.html +++ b/Application/Admin/View/PromoteCompany/service_agreement_list.html @@ -34,9 +34,9 @@
    - +
    @@ -55,9 +55,9 @@
    ID 标题 是否默认合同
    {$data.id} {$data.name} {$data.status} +
    + {$data.company_name} +
    +
    {:get_admin_nickname($data['creator'])} {$data.created_time|date='Y-m-d H:i:s',###} @@ -203,5 +207,7 @@ }); }) + + From 69b09c582f3d4aa77288ad1e9a9057183ae01f43 Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Mon, 15 Jun 2020 11:35:03 +0800 Subject: [PATCH 21/62] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=90=BD=E5=9C=B0?= =?UTF-8?q?=E9=A1=B5=E9=99=90=E5=88=B6=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PromoteLimitRuleController.class.php | 194 ++++++++++++++ .../Admin/View/PromoteLimitRule/form.html | 241 ++++++++++++++++++ .../Admin/View/PromoteLimitRule/records.html | 216 ++++++++++++++++ .../Base/Service/PromoteService.class.php | 24 ++ .../Home/Controller/HomeController.class.php | 13 +- .../Controller/PackageController.class.php | 11 +- 6 files changed, 696 insertions(+), 3 deletions(-) create mode 100644 Application/Admin/Controller/PromoteLimitRuleController.class.php create mode 100644 Application/Admin/View/PromoteLimitRule/form.html create mode 100644 Application/Admin/View/PromoteLimitRule/records.html diff --git a/Application/Admin/Controller/PromoteLimitRuleController.class.php b/Application/Admin/Controller/PromoteLimitRuleController.class.php new file mode 100644 index 000000000..2dcddbcc8 --- /dev/null +++ b/Application/Admin/Controller/PromoteLimitRuleController.class.php @@ -0,0 +1,194 @@ +where('1=1'); + if ($promoteId !== 0) { + $query->where(['promote_id' => $promoteId]); + } + if ($companyId !== 0) { + $promoteIds = M('promote', 'tab_')->field(['id'])->where(['company_id' => $companyId, 'level' => 1])->getField('id', true); + $query->where(['promote_id' => ['in', $promoteIds]]); + } + + $countQuery = clone $query; + $rules = $query->page($page, $row)->select(); + $count = $countQuery->count(); + + $recordPromotes = []; + $recordCompanys = []; + if (count($rules) > 0) { + $recordPromotes = M('promote', 'tab_')->field(['id', 'account', 'company_id'])->where(['id' => ['in', array_column($rules, 'promote_id')]])->select(); + $recordCompanyIds = array_column($recordPromotes, 'company_id'); + if (count($recordCompanyIds) > 0) { + $recordCompanys = M('promote_company', 'tab_')->field(['id', 'company_name', 'company_belong'])->where(['id' => ['in', $recordCompanyIds]])->select(); + } + $recordPromotes = index_by_column('id', $recordPromotes); + $recordCompanys = index_by_column('id', $recordCompanys); + } + + $companyTypes = [ + 0 => '内团', + 1 => '外团', + 2 => '外团-分发联盟', + ]; + + $records = []; + foreach ($rules as $rule) { + $records[] = [ + 'id' => $rule['id'], + 'promote_account' => $recordPromotes[$rule['promote_id']]['account'], + 'company_name' => $recordCompanys[$recordPromotes[$rule['promote_id']]['company_id']]['company_name'], + 'company_belong' => $companyTypes[$recordCompanys[$recordPromotes[$rule['promote_id']]['company_id']]['company_belong']], + 'limit_rule' => $this->getDisplayRule($rule), + ]; + } + $companys = M('promote_company', 'tab_')->field(['id', 'company_name'])->select(); + + $page = set_pagination($count, $row); + if($page) { + $this->assign('_page', $page); + } + $this->assign('records', $records); + $this->assign('companys', $companys); + $this->display(); + } + + private function getDisplayRule($rule) + { + if ($rule['started_at'] === null && $rule['ended_at'] === null) { + return '永久'; + } elseif ($rule['started_at'] === null && $rule['ended_at'] !== null) { + return '从前 至 '.$rule['ended_at']; + } elseif ($rule['started_at'] !== null && $rule['ended_at'] === null) { + return $rule['started_at'] . ' 至 永久'; + } else { + return $rule['started_at'] . ' ~ ' . $rule['ended_at']; + } + } + + public function edit() + { + $this->meta_title = '编辑推广限制'; + $id = I('id', 0); + $companys = M('promote_company', 'tab_')->field(['id', 'company_name'])->select(); + $record = M('promote_limit_rules', 'tab_')->where(['id' => $id])->find(); + $promote = null; + $company = null; + if ($record) { + $promote = M('promote', 'tab_')->where(['id' => $record['promote_id']])->field(['id', 'company_id', 'account'])->find(); + $company = M('promote_company', 'tab_')->where(['id' => $promote['company_id']])->field(['id', 'company_name'])->find(); + } + $this->assign('promote', $promote); + $this->assign('company', $company); + $this->assign('companys', $companys); + $this->assign('record', $record); + $this->display('form'); + } + + public function save() + { + $id = I('id', 0); + $promoteId = I('promote_id', 0); + $startedAt = I('started_at', ''); + $endedAt = I('ended_at', ''); + + $startedAt = $startedAt === '' ? null : $startedAt; + $endedAt = $endedAt === '' ? null : $endedAt; + + if ($startedAt && $endedAt && strtotime($startedAt) > strtotime($endedAt)) { + return $this->error('开始时间不能大于结束时间'); + } + + $record = null; + if ($id > 0) { + $record = M('promote_limit_rules', 'tab_')->where(['id' => $id])->find(); + if (!$record) { + return $this->error('修改记录不存在'); + } + } else { + $promoteRecord = M('promote_limit_rules', 'tab_')->where(['promote_id' => $promoteId])->find(); + if ($promoteRecord) { + return $this->error('该会长已经设定限制规则,请前往更新'); + } + } + + if ($record) { + $data = []; + $data['started_at'] = $startedAt; + $data['ended_at'] = $endedAt; + $data['update_time'] = time(); + M('promote_limit_rules', 'tab_')->where(['id' => $id])->save($data); + addOperationLog([ + 'op_type' => 1, + 'key'=> $promoteId . '/' . $startedAt . '/' . $endedAt, + 'op_name' => '修改推广限制', + 'url' => U('PresidentDeposit/edit', ['id'=>$id]), 'menu'=>'推广员-推广员管理-推广限制-修改推广限制' + ]); + } else { + $data = []; + $data['promote_id'] = $promoteId; + $data['started_at'] = $startedAt; + $data['ended_at'] = $endedAt; + $data['create_time'] = time(); + $data['update_time'] = time(); + M('promote_limit_rules', 'tab_')->add($data); + addOperationLog([ + 'op_type' => 0, + 'key'=> $promoteId . '/' . $startedAt . '/' . $endedAt, + 'op_name' => '新增推广限制', + 'url' => U('PresidentDeposit/edit', ['promote_id'=>$promoteId]), 'menu'=>'推广员-推广员管理-推广限制-新增推广限制' + ]); + } + + return $this->success('保存成功', U('records')); + } + + public function delete() + { + $id = I('id', 0); + M('promote_limit_rules', 'tab_')->where(['id' => $id])->delete(); + + addOperationLog([ + 'op_type' => 2, + 'key' => $id, + 'op_name' => '删除会长推广限制', + 'url' => U('PresidentDeposit/records', ['id' => $id]), + 'menu' => '推广员-推广员管理-推广限制-删除推广限制' + ]); + + $this->ajaxReturn([ + 'status' => 1, + 'message' => '删除成功' + ]); + } + + public function getPromotesByCompany() + { + $companyId = I('company_id', 0); + $promotes = M('promote', 'tab_')->field(['id', 'account'])->where(['level' => 1, 'company_id' => $companyId])->select(); + + $this->ajaxReturn([ + 'status' => 1, + 'message' => '获取成功', + 'data' => [ + 'promotes' => $promotes + ] + ]); + } +} diff --git a/Application/Admin/View/PromoteLimitRule/form.html b/Application/Admin/View/PromoteLimitRule/form.html new file mode 100644 index 000000000..2912f2344 --- /dev/null +++ b/Application/Admin/View/PromoteLimitRule/form.html @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + +
    *推广公司: + + {$company.company_name} + + + +
    *会长: + + {$promote.account} + + + +
    开始时间: + +
    结束时间: + +
    +
    + +
    + + + 返回 + +
    +
    +
    +
    + + + +
    + + + + if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + \ No newline at end of file diff --git a/Application/Admin/View/PromoteLimitRule/records.html b/Application/Admin/View/PromoteLimitRule/records.html new file mode 100644 index 000000000..096c11029 --- /dev/null +++ b/Application/Admin/View/PromoteLimitRule/records.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + 搜索 + 添加 +
    + +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + 推广公司会长账号内外团限制时间操作
    aOh! 暂时还没有内容!
    + + {$data.company_name}{$data.promote_account}{$data.company_belong}{$data.limit_rule} +
    + 编辑 + 删除 +
    +
    +
    +
    +
    + + + + {$_page|default=''} +
    + + +
    + + + + + + + + \ No newline at end of file diff --git a/Application/Base/Service/PromoteService.class.php b/Application/Base/Service/PromoteService.class.php index a048db92d..a1645f115 100644 --- a/Application/Base/Service/PromoteService.class.php +++ b/Application/Base/Service/PromoteService.class.php @@ -1125,4 +1125,28 @@ class PromoteService { return $selfGameIds; } } + + public function checkPromoteLimitRule($promote) + { + $topPromote = $this->getTopPromote($promote); + $rule = M('promote_limit_rules', 'tab_')->where(['promote_id' => $topPromote['id']])->order('created_at desc')->limit(1)->find(); + if ($rule) { + if ($rule['started_at'] === null && $rule['ended_at'] === null) { + return false; + } elseif ($rule['started_at'] === null && $rule['ended_at'] !== null) { + if (time() < strtotime($rule['ended_at'] . ' 23:59:59')) { + return false; + } + } elseif ($rule['started_at'] !== null && $rule['ended_at'] === null) { + if (time() >= strtotime($rule['started_at'] . ' 00:00:00')) { + return false; + } + } else { + if (time() >= strtotime($rule['started_at'] . ' 00:00:00') && time() < strtotime($rule['ended_at'] . ' 23:59:59')) { + return false; + } + } + } + return true; + } } \ No newline at end of file diff --git a/Application/Home/Controller/HomeController.class.php b/Application/Home/Controller/HomeController.class.php index 345c8268a..c1c57599f 100644 --- a/Application/Home/Controller/HomeController.class.php +++ b/Application/Home/Controller/HomeController.class.php @@ -5,6 +5,7 @@ use Think\Controller; use User\Api\MemberApi; use Base\Facade\Request; use Base\Service\ApplyService; +use Base\Service\PromoteService; use Base\Service\PackageDownloadLogService; use Base\Tool\MobileDetect; @@ -170,6 +171,16 @@ class HomeController extends Controller $promoteId = $data['promote_id']; } + $promote = M('promote', 'tab_')->field(['id', 'parent_id', 'chain', 'level'])->where(['id' => $promoteId])->find(); + if (!$promote) { + $this->error('该链接已失效'); + } + + $promoteService = new PromoteService(); + if (!$promoteService->checkPromoteLimitRule($promote)) { + $this->error('链接已失效'); + } + $isWechat = Request::isWechat(); $isIOS = Request::isIOS() || Request::isIPadOS(); $isAndroid = Request::isAndroid(); @@ -208,8 +219,6 @@ class HomeController extends Controller $map = ['id' => intval($gameId)]; $game = M('game', 'tab_')->field($columns)->where($map)->find(); - $promote = M('promote', 'tab_')->field(['id', 'parent_id', 'chain', 'level'])->where(['id' => $promoteId])->find(); - if ($game['sdk_version'] == 1 && $isIOS) { $map = []; $map['relation_game_id'] = $game['relation_game_id']; diff --git a/Application/Home/Controller/PackageController.class.php b/Application/Home/Controller/PackageController.class.php index 41e70efce..6f664020d 100644 --- a/Application/Home/Controller/PackageController.class.php +++ b/Application/Home/Controller/PackageController.class.php @@ -54,6 +54,16 @@ class PackageController extends Controller $promoteId = $data['promote_id']; } + $promote = M('promote', 'tab_')->field(['id', 'parent_id', 'chain', 'level'])->where(['id' => $promoteId])->find(); + if (!$promote) { + $this->error('该链接已失效'); + } + + $promoteService = new PromoteService(); + if (!$promoteService->checkPromoteLimitRule($promote)) { + $this->error('链接已失效'); + } + $map = []; $map['status'] = 1; $map['enable_status'] = 1; @@ -65,7 +75,6 @@ class PackageController extends Controller $this->redirect("package/downloadError", ['message' => '该链接已经停止使用']); } - $promote = M('promote', 'tab_')->field(['id', 'parent_id', 'chain', 'level'])->where(['id' => $promoteId])->find(); $game = M('game','tab_')->field(['id', 'game_name', 'sdk_version', 'apply_auth'])->where(['id' => $apply['game_id']])->find(); if (Request::isMobile() || Request::isTablet()) { From dc85bdb631b6fe413e3db9796b7ace968425a0e7 Mon Sep 17 00:00:00 2001 From: ELF <360197197@qq.com> Date: Mon, 15 Jun 2020 11:49:06 +0800 Subject: [PATCH 22/62] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=8E=A8=E5=B9=BF=E9=99=90=E5=88=B6=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PromoteLimitRuleController.class.php | 27 ++++++++++++++++++- .../Admin/View/PromoteLimitRule/records.html | 22 +++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/Application/Admin/Controller/PromoteLimitRuleController.class.php b/Application/Admin/Controller/PromoteLimitRuleController.class.php index 2dcddbcc8..2a6785708 100644 --- a/Application/Admin/Controller/PromoteLimitRuleController.class.php +++ b/Application/Admin/Controller/PromoteLimitRuleController.class.php @@ -168,7 +168,7 @@ class PromoteLimitRuleController extends ThinkController 'op_type' => 2, 'key' => $id, 'op_name' => '删除会长推广限制', - 'url' => U('PresidentDeposit/records', ['id' => $id]), + 'url' => U('PresidentDeposit/delete', ['id' => $id]), 'menu' => '推广员-推广员管理-推广限制-删除推广限制' ]); @@ -178,6 +178,31 @@ class PromoteLimitRuleController extends ThinkController ]); } + public function batchDelete() + { + $ids = I('ids', []); + if (count($ids) == 0) { + $this->ajaxReturn([ + 'status' => 0, + 'message' => '无选中项' + ]); + } + M('promote_limit_rules', 'tab_')->where(['id' => ['in', $ids]])->delete(); + + addOperationLog([ + 'op_type' => 2, + 'key' => implode(',', $ids), + 'op_name' => '批量删除会长推广限制', + 'url' => U('PresidentDeposit/batchDelete', ['ids' => implode(',', $ids)]), + 'menu' => '推广员-推广员管理-推广限制-批量删除推广限制' + ]); + + $this->ajaxReturn([ + 'status' => 1, + 'message' => '删除成功' + ]); + } + public function getPromotesByCompany() { $companyId = I('company_id', 0); diff --git a/Application/Admin/View/PromoteLimitRule/records.html b/Application/Admin/View/PromoteLimitRule/records.html index 096c11029..80a197769 100644 --- a/Application/Admin/View/PromoteLimitRule/records.html +++ b/Application/Admin/View/PromoteLimitRule/records.html @@ -75,6 +75,7 @@
    安全密码:新安全密码:
    *短信验证码 + + +
    - - - - + 为了保证您的账户安全,提现和转账等操作需要使用安全密码进行确认(请不要和登陆密码一样) + +
    新密码: -
    + + + + + + - - + + + @@ -208,5 +216,53 @@ _reset_area('','',''); }); + + \ No newline at end of file From f321c6259de7602446c64b8ab0ca3659dbc6de31 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 15:47:19 +0800 Subject: [PATCH 34/62] =?UTF-8?q?=E6=B0=B8=E6=98=9F=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/Controller/WithdrawController.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index 8c946ecf0..0558c03c7 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -115,11 +115,12 @@ class WithdrawController extends BaseController $dbres = M("company_statement_info","tab_")->where("id='{$id}'")->find(); // $this->ajaxReturn(["msg"=>"打款成功","data"=>$dbres,"status"=>1]);die(); $company_info = json_decode($dbres['company_info'],true); - //TODO:未进行真实打款 + if($dbres['pay_status'] != 1 && $dbres['verify_status'] == 1){ //执行打款 $title = "测试-".$dbres['company_name']."结算"; $amount = $dbres['statement_money']; + //TODO:线上要关闭这个 $amount = 0.1;//测试金额为0 $payres = $fund->transfer($company_info['ali_account'],$company_info['ali_user'],$dbres['statement_num'],$amount, $title); $resultCode = $payres->code; From d2a10e626d7781601e3be76b2e22fdb74a381200 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 16:02:42 +0800 Subject: [PATCH 35/62] =?UTF-8?q?=E6=B0=B8=E6=98=9F-=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=90=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/WithdrawController.class.php | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index 0558c03c7..1c78b1a17 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -153,27 +153,20 @@ class WithdrawController extends BaseController * 整合数据,全部成功则支付成功,否则为支付中 */ public function poolCount($poolid){ - $pool_id = $poolid; - $CompanyInfo = M("company_statement_info","tab_"); - if(count($pool_id) > 0){ - foreach($pool_id as $k=>$v){ - $f = $CompanyInfo->where("pool_id = {$v} AND pay_status <> 1")->find(); - if(empty($f)){ - //全部完成 - $this->setOneVerifyStatus(4,"payment",$v); - }else{ - //打款中 - $this->setOneVerifyStatus(3,"payment",$v); - } - } + $f = M("company_statement_info","tab_")->where("pool_id = {$poolid} AND pay_status <> 1")->find(); + if(empty($f)){ + //全部完成 + $this->setOneVerifyStatus(4,"payment",$poolid); + }else{ + //打款中 + $this->setOneVerifyStatus(3,"payment",$poolid); } } - protected function setOneVerifyStatus($change_status,$op_pre,$id) { $dbres = M("company_statement_pool","tab_")->field("id,verify_status,verify_log")->where("id = {$id}")->find(); $dbres['verify_log'] = json_decode($dbres['verify_log'],true); - $dbres['verify_log'][$op_pre.'_user']=$this->admininfo["mobile"]; + $dbres['verify_log'][$op_pre.'_user']=$_SESSION['onethink_home']['promote_auth']['account']; $dbres['verify_log'][$op_pre.'_time']=date("Y-m-d H:i:s"); $dbres['verify_log'] = json_encode($dbres['verify_log']); $dbres['verify_status']=$change_status; From 40940b4536a939b1da4b248c672cca491c2ed129 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 16:25:18 +0800 Subject: [PATCH 36/62] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/View/CompanyStatement/editPcStatement.html | 11 +++++++++-- .../Admin/View/CompanyStatement/editPuStatement.html | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Application/Admin/View/CompanyStatement/editPcStatement.html b/Application/Admin/View/CompanyStatement/editPcStatement.html index 9d2f3547f..cc1fad06e 100644 --- a/Application/Admin/View/CompanyStatement/editPcStatement.html +++ b/Application/Admin/View/CompanyStatement/editPcStatement.html @@ -467,7 +467,7 @@ } //数据类 - var DATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE}; + var DATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE}; var YDATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE}; //事件类 var EVENT = { @@ -548,8 +548,15 @@ var td = DATAOBJ.statement_info[index]; var rname = $(this).attr("name"); + var ratio = 0; if( rname == "increment_ratio" || rname == "ratio"){ - var ratio = val; + ratio = val; + }else{ + if(DATAOBJ.withdraw_type==2){ + ratio = td['increment_ratio']; + }else{ + ratio = td['ratio']; + } } DATAOBJ.statement_money = PUBLIC.floatCut(DATAOBJ.statement_money,td['sum_money']); td['sum_money'] = Math.round(td['pay_amount']*ratio*(100-td['fax_ratio'])/100,2)/100; diff --git a/Application/Admin/View/CompanyStatement/editPuStatement.html b/Application/Admin/View/CompanyStatement/editPuStatement.html index 604ff0caa..9e99cba80 100644 --- a/Application/Admin/View/CompanyStatement/editPuStatement.html +++ b/Application/Admin/View/CompanyStatement/editPuStatement.html @@ -372,8 +372,11 @@ var td = DATAOBJ.statement_info[index]; var rname = $(this).attr("name"); + var ratio = 0; if( rname == "increment_ratio" || rname == "ratio"){ - var ratio = val; + ratio = val; + }else{ + ratio = td['ratio']; } DATAOBJ.statement_money = PUBLIC.floatCut(DATAOBJ.statement_money,td['sum_money']); td['sum_money'] = Math.round(td['pay_amount']*ratio)/100 - td['fine'] + (td['reward']-0); From e96c6e8b5239a436b664e3c1883356e81f01d51f Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 16:39:17 +0800 Subject: [PATCH 37/62] =?UTF-8?q?=E5=85=AC=E5=8F=B8=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/CompanyRelationController.class.php | 4 ++-- .../Admin/Controller/CompanyStatementController.class.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Application/Admin/Controller/CompanyRelationController.class.php b/Application/Admin/Controller/CompanyRelationController.class.php index 81c3a25ee..ea53aec9e 100644 --- a/Application/Admin/Controller/CompanyRelationController.class.php +++ b/Application/Admin/Controller/CompanyRelationController.class.php @@ -72,7 +72,7 @@ class CompanyRelationController extends AdminController $where['is_payment'] = $params['is_payment']; } - $this->checkListOrCountAuthRestMap($where);//导出权限 + // $this->checkListOrCountAuthRestMap($where);//导出权限 $dbres = $this->DBModel->where($where)->order("id desc");; if(isset($params['export'])){ $dbres = $dbres->select(); @@ -153,7 +153,7 @@ class CompanyRelationController extends AdminController if(isset($params['status'])){ $where['status'] = $params['status']; } - $this->checkListOrCountAuthRestMap($where);//导出权限 + // $this->checkListOrCountAuthRestMap($where);//导出权限 $dbres = $this->DBlogModel->where($where)->order("FIELD(status,0,1,-1,-2,2),id desc");; if(isset($params['export'])){ $dbres = $dbres->select(); diff --git a/Application/Admin/Controller/CompanyStatementController.class.php b/Application/Admin/Controller/CompanyStatementController.class.php index 84062767f..d52539bf1 100644 --- a/Application/Admin/Controller/CompanyStatementController.class.php +++ b/Application/Admin/Controller/CompanyStatementController.class.php @@ -727,7 +727,7 @@ class CompanyStatementController extends ThinkController $upwhere = "(first_company_type = 1 AND first_company_id NOT IN ({$up_company_id}) ) OR ( second_company_type = 1 AND second_company_id NOT IN ({$up_company_id}) )"; } $uprelation = M("company_relation","tab_")->field("first_company_id,first_company_type,second_company_id,second_company_type")->where($upwhere)->select(); - + foreach($uprelation as $k=>$v){ if($v['first_company_type'] == 0){ $senddata["up_company_id"][] = $v['second_company_id']; @@ -741,7 +741,7 @@ class CompanyStatementController extends ThinkController $downwhere = "1=1"; }else{ $dowm_company_id =implode(",",$dowm_company_id); - $downwhere = "(first_company_type = 1 AND first_company_id NOT IN ({$dowm_company_id}) ) OR ( second_company_type = 1 AND second_company_id NOT IN ({$dowm_company_id}) )"; + $downwhere = "(first_company_type = 2 AND first_company_id NOT IN ({$dowm_company_id}) ) OR ( second_company_type = 2 AND second_company_id NOT IN ({$dowm_company_id}) )"; } $downrelation = M("company_relation","tab_")->field("first_company_id,first_company_type,second_company_id,second_company_type")->where($downwhere)->select(); From 1da5da1ea51edf5088526f2fe54fa92d6a3c576c Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 17:34:53 +0800 Subject: [PATCH 38/62] =?UTF-8?q?=E6=B0=B8=E6=98=9F-=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=90=E7=8E=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Controller/WithdrawController.class.php | 7 ++++++- Application/Home/View/default/Withdraw/index.html | 12 ++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index 1c78b1a17..d554827b3 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -145,7 +145,12 @@ class WithdrawController extends BaseController } $this->poolCount($dbres['pool_id']); M("company_statement_info","tab_")->save($savedata); - $this->ajaxReturn(["msg"=>"打款成功","data"=>$dbres,"status"=>1]); + + if ($savedata["pay_status"] == -1) { + $this->ajaxReturn(["msg"=>"提现失败","data"=>$dbres,"status"=>0]); + } + + $this->ajaxReturn(["msg"=>"提现成功","data"=>$dbres,"status"=>1]); } /** diff --git a/Application/Home/View/default/Withdraw/index.html b/Application/Home/View/default/Withdraw/index.html index a00a87bde..b7728142f 100644 --- a/Application/Home/View/default/Withdraw/index.html +++ b/Application/Home/View/default/Withdraw/index.html @@ -326,14 +326,10 @@ dataType: "json", data: { id:id }, success: function (result) { - if (result.status == 0) { - layer.msg(result.msg); - } else { - layer.msg('提现成功~'); - setTimeout(function () { - location.reload(); - }, 1000); - } + layer.msg(result.msg); + setTimeout(function () { + location.reload(); + }, 1000); }, error: function () { From 42dc519712b61892b20122604d4b708f06916ad4 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 17:38:20 +0800 Subject: [PATCH 39/62] =?UTF-8?q?=E6=B0=B8=E6=98=9F-=E6=89=93=E6=AC=BE?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Controller/WithdrawController.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index d554827b3..d31682cc3 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -158,13 +158,13 @@ class WithdrawController extends BaseController * 整合数据,全部成功则支付成功,否则为支付中 */ public function poolCount($poolid){ - $f = M("company_statement_info","tab_")->where("pool_id = {$poolid} AND pay_status <> 1")->find(); - if(empty($f)){ - //全部完成 - $this->setOneVerifyStatus(4,"payment",$poolid); - }else{ + $f = M("company_statement_info","tab_")->field("id")->where("pool_id = {$poolid} AND pay_status <> 1")->find(); + if(isset($f['id'])){ //打款中 $this->setOneVerifyStatus(3,"payment",$poolid); + }else{ + //全部完成 + $this->setOneVerifyStatus(4,"payment",$poolid); } } protected function setOneVerifyStatus($change_status,$op_pre,$id) From a629654ccb23c001719a320d53b44355927c927f Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 18:01:09 +0800 Subject: [PATCH 40/62] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=93=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/WithdrawController.class.php | 7 +++++-- .../Home/View/default/Withdraw/index.html | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index d31682cc3..30a300ca2 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -37,6 +37,7 @@ class WithdrawController extends BaseController $map["promote.id"] = get_pid(); $map['tab_company_statement_info.company_type'] = ['in',"1,2"]; + $map['tab_company_statement_info.verify_status'] = 1; if ($_REQUEST['pay_status'] || $_REQUEST['pay_status'] == '0') { $map['pay_status'] = $_REQUEST['pay_status']; @@ -140,11 +141,12 @@ class WithdrawController extends BaseController $savedata["pay_time"]=time(); } else { - $this->poolCount($dbres['pool_id']); + // $this->poolCount($dbres['pool_id']); $this->ajaxReturn(["msg"=>"已经打款过","data"=>$dbres,"status"=>0]); } - $this->poolCount($dbres['pool_id']); + M("company_statement_info","tab_")->save($savedata); + // $this->poolCount($dbres['pool_id']); if ($savedata["pay_status"] == -1) { $this->ajaxReturn(["msg"=>"提现失败","data"=>$dbres,"status"=>0]); @@ -159,6 +161,7 @@ class WithdrawController extends BaseController */ public function poolCount($poolid){ $f = M("company_statement_info","tab_")->field("id")->where("pool_id = {$poolid} AND pay_status <> 1")->find(); + if(isset($f['id'])){ //打款中 $this->setOneVerifyStatus(3,"payment",$poolid); diff --git a/Application/Home/View/default/Withdraw/index.html b/Application/Home/View/default/Withdraw/index.html index b7728142f..ca094517c 100644 --- a/Application/Home/View/default/Withdraw/index.html +++ b/Application/Home/View/default/Withdraw/index.html @@ -327,6 +327,7 @@ data: { id:id }, success: function (result) { layer.msg(result.msg); + poolCount(result.data.pool_id); setTimeout(function () { location.reload(); }, 1000); @@ -339,6 +340,22 @@ }); + function poolCount(pool_id) { + + $.ajax({ + async: false, + url: "{:U('poolCount')}", + type: "POST", + dataType: "json", + data: { poolid:pool_id }, + success: function (result) { + }, + error: function () { + } + }); + + } + $('.i_cancel').click(function () { location.reload(); }); From 2229e16a9df1b9ee5f3c8292fa8620984aef1e74 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 18:03:30 +0800 Subject: [PATCH 41/62] =?UTF-8?q?=E6=B0=B8=E6=98=9F-=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/View/default/Withdraw/index.html | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Application/Home/View/default/Withdraw/index.html b/Application/Home/View/default/Withdraw/index.html index ca094517c..27ce2abd7 100644 --- a/Application/Home/View/default/Withdraw/index.html +++ b/Application/Home/View/default/Withdraw/index.html @@ -326,11 +326,13 @@ dataType: "json", data: { id:id }, success: function (result) { - layer.msg(result.msg); - poolCount(result.data.pool_id); - setTimeout(function () { - location.reload(); - }, 1000); + poolCount(result.data.pool_id,function(){ + layer.msg(result.msg); + setTimeout(function () { + location.reload(); + }, 1000); + }); + }, error: function () { @@ -340,7 +342,7 @@ }); - function poolCount(pool_id) { + function poolCount(pool_id,callback) { $.ajax({ async: false, @@ -349,6 +351,7 @@ dataType: "json", data: { poolid:pool_id }, success: function (result) { + callback(); }, error: function () { } From b8610e3490c0a17b464db6b85e542f480d1f007e Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 22 Jun 2020 18:26:46 +0800 Subject: [PATCH 42/62] =?UTF-8?q?=E6=B0=B8=E6=98=9F-=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=90=E7=8E=B0=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/Controller/WithdrawController.class.php | 1 + Application/Home/View/default/Withdraw/index.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index 30a300ca2..37aebdb44 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -169,6 +169,7 @@ class WithdrawController extends BaseController //全部完成 $this->setOneVerifyStatus(4,"payment",$poolid); } + $this->ajaxReturn(["msg"=>"聚合成功","status"=>1]); } protected function setOneVerifyStatus($change_status,$op_pre,$id) { diff --git a/Application/Home/View/default/Withdraw/index.html b/Application/Home/View/default/Withdraw/index.html index 27ce2abd7..87703389c 100644 --- a/Application/Home/View/default/Withdraw/index.html +++ b/Application/Home/View/default/Withdraw/index.html @@ -326,8 +326,8 @@ dataType: "json", data: { id:id }, success: function (result) { + layer.msg(result.msg+"页面刷新中..."); poolCount(result.data.pool_id,function(){ - layer.msg(result.msg); setTimeout(function () { location.reload(); }, 1000); From e4a29b8bb4a4d63a488df7cfe632ea69e094aaf6 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Mon, 22 Jun 2020 19:24:56 +0800 Subject: [PATCH 43/62] upt --- Application/Home/View/default/Safe/setSafeIndex.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Application/Home/View/default/Safe/setSafeIndex.html b/Application/Home/View/default/Safe/setSafeIndex.html index d429b556b..8e79c0f1f 100644 --- a/Application/Home/View/default/Safe/setSafeIndex.html +++ b/Application/Home/View/default/Safe/setSafeIndex.html @@ -3,11 +3,11 @@ - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + From efe84158dabf236cc492b269e66e9964fb630727 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Wed, 24 Jun 2020 13:53:14 +0800 Subject: [PATCH 59/62] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/View/default/Index/phoneLogin.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Application/Home/View/default/Index/phoneLogin.html b/Application/Home/View/default/Index/phoneLogin.html index 95416a3d3..48db08192 100644 --- a/Application/Home/View/default/Index/phoneLogin.html +++ b/Application/Home/View/default/Index/phoneLogin.html @@ -191,12 +191,12 @@ data:data, success:function(data){ if(data.status==1){ - layer.msg(data.msg, {icon: 1}); + layer.msg(data.info, {icon: 1}); window.location.href=data.url; }else{ //if(data.code==0){} $('img[name="changeCaptcha"]').click(); - layer.msg(data.msg, {icon: 2}); + layer.msg(data.info, {icon: 2}); } },error:function(){ From 22ac6bf29325214ebc7f35c52225b66e420c2a23 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Sun, 28 Jun 2020 10:30:09 +0800 Subject: [PATCH 60/62] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Home/Controller/SafeController.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index 92ba8702d..1f55f2cdb 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -627,7 +627,6 @@ class SafeController extends BaseController{ return $this->ajaxReturn(['status'=>0,'msg'=>'手机号已被绑定']); } } else { - echo 222; if (!$exists) { return $this->ajaxReturn(['status'=>0,'msg'=>'手机号未被绑定']); } From 4058eb3963fdd8df46a0f1effcc85bebac7998f6 Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Sun, 28 Jun 2020 11:00:09 +0800 Subject: [PATCH 61/62] 1 --- Application/Home/Controller/SafeController.class.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index 1f55f2cdb..0891a3690 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -99,6 +99,7 @@ class SafeController extends BaseController{ // if(empty($oldpwd)) { // $this->error("旧密码不能为空"); // } + $this->checkPaswwordFormat($safepwd); if(empty($safepwd)) { $this->error("安全密码不能为空"); } @@ -107,12 +108,8 @@ class SafeController extends BaseController{ } $id = get_pid(); $data['second_pwd'] = $this->think_ucenter_md5($safepwd, UC_AUTH_KEY); - $updateRs = M("promote","tab_")->where(['id'=>$id])->save($data); - if($updateRs) { - $this->success("修改成功"); - }else { - $this->error("修改失败,请重新操作"); - } + M("promote","tab_")->where(['id'=>$id])->save($data); + $this->success("修改成功"); } $this->display(); From 2680f92079fd3424065c4d15e62ee943d0d04aaf Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Sun, 28 Jun 2020 11:28:48 +0800 Subject: [PATCH 62/62] 1 --- Application/Home/Controller/SafeController.class.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index 0891a3690..aa37c1988 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -54,11 +54,9 @@ class SafeController extends BaseController{ $this->checkPaswwordFormat($confirmpassword); $data['second_pwd'] = $this->think_ucenter_md5($confirmpassword, UC_AUTH_KEY); $id = get_pid(); - $updateRs = M("promote","tab_")->where(['id'=>$id])->save($data); - if($updateRs) { - recordPromoteLogs('安全管理','设置安全密码'); - $this->success("安全密码设置成功"); - } + M("promote","tab_")->where(['id'=>$id])->save($data); + recordPromoteLogs('安全管理','设置安全密码'); + $this->success("安全密码设置成功"); } public function think_ucenter_md5($str, $key = 'ThinkUCenter')
    新安全密码: +
    确认密码: - *短信验证码 + + +
    账号ID账号ID账号ID账号ID
    账号ID检测时间最后一秒玩家留存的平台币
    账号ID检测时间最后一秒玩家留存的平台币
    账号ID检测时间最后一秒玩家留存的平台币
    账号ID检测时间最后一秒玩家留存的平台币
    玩家账号 平台币余额平台币余额平台币余额平台币余额
    平台币余额检测时间最后一秒玩家留存的平台币
    平台币余额检测时间最后一秒玩家留存的平台币
    平台币余额检测时间最后一秒玩家留存的平台币
    平台币余额检测时间最后一秒玩家留存的平台币
    平台币直充余额平台币直充余额平台币直充余额平台币直充余额
    平台币直充余额检测时间最后一秒玩家累计消耗的平台币(只记录直充部分)
    平台币直充余额检测时间最后一秒玩家累计消耗的平台币(只记录直充部分)
    平台币直充余额检测时间最后一秒玩家累计消耗的平台币(只记录直充部分)
    平台币直充余额检测时间最后一秒玩家累计消耗的平台币(只记录直充部分)
    平台币直充支出平台币直充支出平台币直充支出平台币直充支出
    平台币直充支出检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充支出检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充支出检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充支出检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充金额平台币直充金额平台币直充金额平台币直充金额
    平台币直充金额检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充金额检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充金额检测时间内玩家累计消耗的平台币(只记录直充部分)
    平台币直充金额检测时间内玩家累计消耗的平台币(只记录直充部分)
    后台发放平台币后台发放平台币后台发放平台币后台发放平台币
    后台发放平台币检测时间内玩家累计后台发放的平台币(只记录直充部分)
    后台发放平台币检测时间内玩家累计后台发放的平台币(只记录直充部分)
    后台发放平台币检测时间内玩家累计后台发放的平台币(只记录直充部分)
    后台发放平台币检测时间内玩家累计后台发放的平台币(只记录直充部分)
    操作