From f034698dbcb02fed72f9a20d20a04a2e4a543b54 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 14 Dec 2020 10:16:06 +0800 Subject: [PATCH 01/40] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=9A=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 9 ++++ Application/Admin/Conf/config.php | 8 +++- .../Controller/SpendController.class.php | 22 ++++----- Application/Admin/Model/SpendModel.class.php | 4 +- Application/Admin/View/Spend/lists.html | 8 +--- jbc.php | 48 +++++++++++++++++++ 6 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 jbc.php diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index e50a1665e..085401c84 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1057,3 +1057,12 @@ function showNumPercent($num) } } +//优化子站点实例化方法 +function SM($name='', $tablePrefix='tab_') +{ + $tableName = strtolower($tablePrefix.$name); + if(in_array($tableName,C('SUBSITE_TABLE')) && IS_SUBSITE){ + return M($name, $tablePrefix,SUBSITE_DB); + } + return M($name, $tablePrefix); +} diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index e45f7d8cc..ff9f5af47 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -103,7 +103,7 @@ return array( /* SESSION 和 COOKIE 配置 */ 'SESSION_PREFIX' => 'onethink_admin', //session前缀 - 'SESSION_COOKIE_PATH' => '/admin.php', + 'SESSION_COOKIE_PATH' => '/'.SUBSITE_INDEX, 'COOKIE_PREFIX' => 'onethink_admin_', // Cookie前缀 避免冲突 'VAR_SESSION_ID' => 'session_id', //修复uploadify插件无法传递session_id的bug @@ -113,5 +113,9 @@ return array( 'TMPL_EXCEPTION_FILE' => MODULE_PATH.'View/Public/exception.html',// 异常页面的模板文件 /*默认公司名称*/ 'DEFAULT_COMPANY'=>"海南万盟天下科技有限公司", - 'OFFICIEL_CHANNEL'=>"江息网络" + 'OFFICIEL_CHANNEL'=>"江息网络", + /*分库的表格*/ + 'SUBSITE_TABLE'=>[ + "tab_spend" + ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/SpendController.class.php b/Application/Admin/Controller/SpendController.class.php index 15416f9c9..a9fca7d3e 100644 --- a/Application/Admin/Controller/SpendController.class.php +++ b/Application/Admin/Controller/SpendController.class.php @@ -137,23 +137,21 @@ class SpendController extends ThinkController $this->checkListOrCountAuthRestMap($map,["extend", "pay_order_number", "user_account"]); $map1 = $map; $map1['pay_status'] = 1; - $total = null_to_0(D(self::model_name)->where($map1)->sum('pay_amount')); - $ttotal = null_to_0(D(self::model_name)->where('pay_time' . total(1))->where(array('pay_status' => 1))->sum('pay_amount')); - $ytotal = null_to_0(D(self::model_name)->where('pay_time' . total(5))->where(array('pay_status' => 1))->sum('pay_amount')); + $total = null_to_0(SM(self::model_name)->where($map1)->sum('pay_amount')); $this->assign('total', $total); - $this->assign('ttotal', $ttotal); - $this->assign('ytotal', $ytotal); $this->meta_title = $this->m_title = '游戏充值'; $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Spend/lists', 'status' => 1])->find()); - - $data = D(self::model_name)->lists($_GET["p"], $map, $order); - $adminUsernameList = getAdminUsernameList(array_column($data['data'], 'market_admin_id')); - foreach ($data['data'] as $key=>&$value ) { - ($value['promote_account']=='官方渠道')?($value['promote_account']=C('OFFICIEL_CHANNEL')):''; - $value['market_admin_username'] = $adminUsernameList[$value['market_admin_id']] ?? '无'; - $value['is_check_str'] = D(self::model_name)::IsCheckStr[$value['is_check']]; + $data = D(self::model_name)->lists($_GET["p"], $map, $order); + if(!empty($data['data'])){ + $adminUsernameList = getAdminUsernameList(array_column($data['data'], 'market_admin_id')); + foreach ($data['data'] as $key=>&$value ) { + ($value['promote_account']=='官方渠道')?($value['promote_account']=C('OFFICIEL_CHANNEL')):''; + $value['market_admin_username'] = $adminUsernameList[$value['market_admin_id']] ?? '无'; + $value['is_check_str'] = D(self::model_name)::IsCheckStr[$value['is_check']]; + } } + $this->assign('showMarketAdmin', session('user_auth')['show_market_admin']); $this->assign('showPromote', session('user_auth')['show_promote']); $this->assign('isMarketAdmin', $isMarketAdmin); diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 3153c7efc..40204893b 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -796,12 +796,12 @@ class SpendModel extends Model } else { $row = 10; } - $list = $this + $list = $this->db(1) ->where($map) ->page($page, $row) ->order($order ? $order : 'pay_time desc') ->select(); - $count = $this->where($map)->count(); + $count = $this->db(1)->where($map)->count(); $data['data'] = $list; $page = set_pagination($count, $row); if ($page) { diff --git a/Application/Admin/View/Spend/lists.html b/Application/Admin/View/Spend/lists.html index 1ce4f4ede..b0c5c84ef 100644 --- a/Application/Admin/View/Spend/lists.html +++ b/Application/Admin/View/Spend/lists.html @@ -377,14 +377,10 @@ 汇总 当页充值:{:null_to_0(array_sum(array_column(array_status2value('pay_status','',$list_data),'pay_amount')))} - - + 累计充值:{$total}(此处只汇总充值成功的订单) - + diff --git a/jbc.php b/jbc.php new file mode 100644 index 000000000..f4f81d45b --- /dev/null +++ b/jbc.php @@ -0,0 +1,48 @@ + 5.3.0 !'); + + +/** + * 系统调试设置 + * 项目正式部署后请设置为false + */ +define('APP_DEBUG', true ); +define('BIND_MODULE','Admin'); +define('ROOTTT',dirname(__FILE__).'/'); +define('ROOTTTTT',dirname(__FILE__)); +define('FONTS',dirname(__FILE__).'/Public/Admin/fonts/'); +/** + * 应用目录设置 + * 安全期间,建议安装调试完成后移动到非WEB目录 + */ +define ( 'APP_PATH', './Application/' ); + +if(!is_file(APP_PATH . 'User/Conf/config.php')){ + header('Location: ./install.php'); + exit; +} + +/** + * 缓存目录设置 + * 此目录必须可写,建议移动到非WEB目录 + */ +define ( 'RUNTIME_PATH', './Runtime/' ); +/** + * 项目配置 + */ +$JBC_DB_CONFIG = include_once APP_PATH."/Common/Conf/env.php"; +$JBC_DB_CONFIG = $JBC_DB_CONFIG['JBC_DB_CONFIG']; +define ( 'IS_SUBSITE', TRUE); +define ( 'SUBSITE_NAME', "jbc"); +define ( 'SUBSITE_DB', $JBC_DB_CONFIG ); +define ( 'SUBSITE_INDEX', "jbc.php" );//子站点路口,影响session + +/** + * 引入核心入口 + * ThinkPHP亦可移动到WEB以外的目录 + */ +require './ThinkPHP/ThinkPHP.php'; \ No newline at end of file From 753098a85f46aaf7200781ac2ffc3cff8d8bfddf Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 14 Dec 2020 10:54:42 +0800 Subject: [PATCH 02/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AD=90=E7=AB=99?= =?UTF-8?q?=E7=82=B9=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 10 +++++++++- Application/Admin/Model/SpendModel.class.php | 21 ++++++++++++-------- admin.php | 7 +++++++ jbc.php | 4 ++-- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index 085401c84..7719c610f 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1061,8 +1061,16 @@ function showNumPercent($num) function SM($name='', $tablePrefix='tab_') { $tableName = strtolower($tablePrefix.$name); - if(in_array($tableName,C('SUBSITE_TABLE')) && IS_SUBSITE){ + if(is_subsiteTable($tableName)){ return M($name, $tablePrefix,SUBSITE_DB); } return M($name, $tablePrefix); } +//判断是否有子站点表格 +function is_subsiteTable($tableName) +{ + if(in_array($tableName,C('SUBSITE_TABLE')) && IS_SUBSITE){ + return true; + } + return false; +} diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 40204893b..dffcf99d7 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -34,12 +34,12 @@ class SpendModel extends Model array('order_number', '', self::MODEL_INSERT), ); - protected function _after_select(&$result, $options) - { - foreach ($result as $key => $value) { - // $result[$key]['pay_way'] = date('Y-m-d ', $value['time']); - } - } + // protected function _after_select(&$result, $options) + // { + // foreach ($result as $key => $value) { + // // $result[$key]['pay_way'] = date('Y-m-d ', $value['time']); + // } + // } /** * 构造函数 @@ -51,6 +51,11 @@ class SpendModel extends Model { /* 设置默认的表前缀 */ $this->tablePrefix = 'tab_'; + if(is_subsiteTable("tab_spend")){ + //修改连接 + $this->connection = SUBSITE_DB; + $connection = SUBSITE_DB; + } /* 执行构造方法 */ parent::__construct($name, $tablePrefix, $connection); } @@ -796,12 +801,12 @@ class SpendModel extends Model } else { $row = 10; } - $list = $this->db(1) + $list = $this ->where($map) ->page($page, $row) ->order($order ? $order : 'pay_time desc') ->select(); - $count = $this->db(1)->where($map)->count(); + $count = $this->where($map)->count(); $data['data'] = $list; $page = set_pagination($count, $row); if ($page) { diff --git a/admin.php b/admin.php index 3093bc696..c607fbea6 100644 --- a/admin.php +++ b/admin.php @@ -35,6 +35,13 @@ if(!is_file(APP_PATH . 'User/Conf/config.php')){ */ define ( 'RUNTIME_PATH', './Runtime/' ); +/** + * 项目配置 + */ +define ( 'IS_SUBSITE', false); +define ( 'SUBSITE_NAME', "all"); +define ( 'SUBSITE_INDEX', "admin.php" );//子站点路口,影响session + /** * 引入核心入口 * ThinkPHP亦可移动到WEB以外的目录 diff --git a/jbc.php b/jbc.php index f4f81d45b..77a428be7 100644 --- a/jbc.php +++ b/jbc.php @@ -35,8 +35,8 @@ define ( 'RUNTIME_PATH', './Runtime/' ); * 项目配置 */ $JBC_DB_CONFIG = include_once APP_PATH."/Common/Conf/env.php"; -$JBC_DB_CONFIG = $JBC_DB_CONFIG['JBC_DB_CONFIG']; -define ( 'IS_SUBSITE', TRUE); +$JBC_DB_CONFIG = $JBC_DB_CONFIG['SUBSITE_DB_CONFIG']['JBC_DB_CONFIG']; +define ( 'IS_SUBSITE', true); define ( 'SUBSITE_NAME', "jbc"); define ( 'SUBSITE_DB', $JBC_DB_CONFIG ); define ( 'SUBSITE_INDEX', "jbc.php" );//子站点路口,影响session From 0f82acf4476e8b09fba1c55e2593a5f62dd68f6c Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 15 Dec 2020 09:39:03 +0800 Subject: [PATCH 03/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 3 +- .../AuthManagerController.class.php | 7 ++- Application/Admin/View/AuthManager/index.html | 59 +++++++++++-------- 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index ff9f5af47..4a5cdab53 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -116,6 +116,7 @@ return array( 'OFFICIEL_CHANNEL'=>"江息网络", /*分库的表格*/ 'SUBSITE_TABLE'=>[ - "tab_spend" + "tab_spend", + "sys_auth_group" ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/AuthManagerController.class.php b/Application/Admin/Controller/AuthManagerController.class.php index e9577cb24..266684cde 100644 --- a/Application/Admin/Controller/AuthManagerController.class.php +++ b/Application/Admin/Controller/AuthManagerController.class.php @@ -147,7 +147,7 @@ class AuthManagerController extends AdminController{ */ public function access(){ $this->updateRules(); - $auth_group = M('AuthGroup')->where( array('status'=>array('egt','0'),'module'=>'admin','type'=>AuthGroupModel::TYPE_ADMIN) ) + $auth_group = SM('auth_group',"sys_")->where( array('status'=>array('egt','0'),'module'=>'admin','type'=>AuthGroupModel::TYPE_ADMIN) ) ->getfield('id,id,title,rules'); $node_list = $this->returnNodes(); $map = array('module'=>'admin','type'=>AuthRuleModel::RULE_MAIN,'status'=>1); @@ -220,7 +220,7 @@ class AuthManagerController extends AdminController{ if ( $data ) { if ( empty($data['id']) ) { \Think\Log::actionLog('AuthManager/createGroup','authGroup',1); - $r = $AuthGroup->add(); + $r = SM("auth_group","sys_")->add($data); addOperationLog(array( "op_type"=>0, "key"=> $_POST['title'], @@ -228,7 +228,8 @@ class AuthManagerController extends AdminController{ )); }else{ \Think\Log::actionLog('AuthManager/editGroup','authGroup',1); - $r = $AuthGroup->save(); + $r = SM("auth_group","sys_")->save($data); + // dd($r); //操作日志,不传title表示是访问授权 $oparr = array( "op_type"=>1, diff --git a/Application/Admin/View/AuthManager/index.html b/Application/Admin/View/AuthManager/index.html index 1a543c92c..f0b3e7c02 100644 --- a/Application/Admin/View/AuthManager/index.html +++ b/Application/Admin/View/AuthManager/index.html @@ -5,15 +5,16 @@

角色权限

说明:可以设置管理账号的不同操作权限

- -
- -
+ +
+ +
+
@@ -33,7 +34,13 @@ - + - - + From 28e93fe8326433c1d7ecdb3498edd5139e81926a Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 15 Dec 2020 14:16:16 +0800 Subject: [PATCH 04/40] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Model/SubsiteModel.class.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Application/Admin/Model/SubsiteModel.class.php diff --git a/Application/Admin/Model/SubsiteModel.class.php b/Application/Admin/Model/SubsiteModel.class.php new file mode 100644 index 000000000..4a32915be --- /dev/null +++ b/Application/Admin/Model/SubsiteModel.class.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- + +namespace Admin\Model; +use Think\Model; + +/** + * 文档基础模型 + */ +class SubsiteModel extends Model{ + +} \ No newline at end of file From 0d533525fee48b9ee51fcac2c8ca6959a3980a6a Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 15 Dec 2020 19:14:50 +0800 Subject: [PATCH 05/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AuthManagerController.class.php | 19 ++++-- .../Admin/Model/AuthGroupModel.class.php | 2 +- .../Admin/Model/SubsiteModel.class.php | 59 +++++++++++++++++++ 3 files changed, 73 insertions(+), 7 deletions(-) diff --git a/Application/Admin/Controller/AuthManagerController.class.php b/Application/Admin/Controller/AuthManagerController.class.php index 266684cde..9f3c009a1 100644 --- a/Application/Admin/Controller/AuthManagerController.class.php +++ b/Application/Admin/Controller/AuthManagerController.class.php @@ -205,12 +205,14 @@ class AuthManagerController extends AdminController{ } } if(isset($_POST['rules'])){ + $isrules = true; if(!empty($ruleiddata)){ $_POST['rules'] = array_merge($_POST['rules'],$ruleiddata); } sort($_POST['rules']); $_POST['rules'] = implode( ',' , array_unique($_POST['rules'])); }else{ + $isrules = false; $_POST['rules'] = ''; } $_POST['module'] = 'admin'; @@ -220,7 +222,7 @@ class AuthManagerController extends AdminController{ if ( $data ) { if ( empty($data['id']) ) { \Think\Log::actionLog('AuthManager/createGroup','authGroup',1); - $r = SM("auth_group","sys_")->add($data); + $r = $AuthGroup->syncAdd($data); addOperationLog(array( "op_type"=>0, "key"=> $_POST['title'], @@ -228,8 +230,12 @@ class AuthManagerController extends AdminController{ )); }else{ \Think\Log::actionLog('AuthManager/editGroup','authGroup',1); - $r = SM("auth_group","sys_")->save($data); - // dd($r); + if($isrules){ + $r = SM("auth_group","sys_")->save($data); + }else{ + $r = $AuthGroup->where("id={$data['id']}")->syncSave($data); + } + //操作日志,不传title表示是访问授权 $oparr = array( "op_type"=>1, @@ -308,7 +314,8 @@ class AuthManagerController extends AdminController{ $savedata = [ "status"=>$status ]; - $res = M("AuthGroup")->where("id in ({$ids})")->save($savedata); + // dd($savedata); + $res = D("AuthGroup")->where("id in ({$ids})")->syncSave($savedata); if($res !==false ){ $this->success($msg['success'],$msg['url'],$msg['ajax']); }else{ @@ -571,7 +578,7 @@ class AuthManagerController extends AdminController{ $promoteData = ''; } - if ($AuthGroup->where("id = {$gid}")->save(array( + if ($AuthGroup->where("id = {$gid}")->syncSave(array( 'data_empower_type' => $data_empower_type, 'data_president' => $promoteData, 'show_data' => $show_data, @@ -620,7 +627,7 @@ class AuthManagerController extends AdminController{ $data = json_encode($data); - $AuthGroup->where(['id'=>$gid])->save(['market_percentage'=>$data]); + $AuthGroup->where(['id'=>$gid])->syncSave(['market_percentage'=>$data]); $this->success("编辑成功",U("index")); diff --git a/Application/Admin/Model/AuthGroupModel.class.php b/Application/Admin/Model/AuthGroupModel.class.php index 59dabdf40..30c10b25e 100644 --- a/Application/Admin/Model/AuthGroupModel.class.php +++ b/Application/Admin/Model/AuthGroupModel.class.php @@ -15,7 +15,7 @@ use Think\Model; * Class AuthGroupModel * @author 朱亚杰 */ -class AuthGroupModel extends Model { +class AuthGroupModel extends SubsiteModel { const TYPE_ADMIN = 1; // 管理员用户组类型标识 const MEMBER = 'member'; const UCENTER_MEMBER = 'ucenter_member'; diff --git a/Application/Admin/Model/SubsiteModel.class.php b/Application/Admin/Model/SubsiteModel.class.php index 4a32915be..413ec6b50 100644 --- a/Application/Admin/Model/SubsiteModel.class.php +++ b/Application/Admin/Model/SubsiteModel.class.php @@ -14,5 +14,64 @@ use Think\Model; * 文档基础模型 */ class SubsiteModel extends Model{ + //批量添加 + protected $dbcount=0; + protected $syncKey="id"; + protected $syncData; + protected $syncWhere=false; + + public function __construct($name = '', $tablePrefix = '', $connection = '') + { + parent::__construct($name, $tablePrefix, $connection); + + if(in_array($this->trueTableName,C('SUBSITE_TABLE'))){ + $SUBSITE_DB = C("SUBSITE_DB_CONFIG"); + $i = 1; + foreach ($SUBSITE_DB as $k => $v) { + $this->db($i,$v); + $i++; + } + $this->dbcount = $i; + } + } + //修改主键,默认id + public function syncKey($key){ + $this->syncKey = $key; + return $this; + } + //持续化数据条件 + protected function syncCreate($data) + { + $this->syncData = $data; + if(isset($this->options['where'])){ + $this->syncWhere = $this->options['where']; + } + } + //同步添加 + public function syncAdd($data) + { + $this->syncCreate($data); + $syncVal = $this->db(0)->add(); + if(empty($syncVal)){ + return $syncVal; + } + $this->syncData[$this->syncKey] = $syncVal; + for ($i=1; $i < $this->dbcount; $i++) { + $this->db($i)->add($this->syncData); + } + return $syncVal; + } + //同步修改 + public function syncSave($data) + { + $this->syncCreate($data); + for ($i=0; $i < $this->dbcount; $i++) { + $this->db($i)->where($this->syncWhere)->save($this->syncData); + } + return true; + } + + + } \ No newline at end of file From d08691c13a92d5fffed0fda0341c592b858997cf Mon Sep 17 00:00:00 2001 From: chenzhi Date: Thu, 17 Dec 2020 17:47:26 +0800 Subject: [PATCH 06/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=85=85=E5=80=BC?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/ExportController.class.php | 14 +++++--------- .../Controller/RechargeSumController.class.php | 4 ++-- .../Admin/Controller/SpendController.class.php | 8 ++------ 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index fd0f58f99..686cb5a10 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -1187,12 +1187,8 @@ class ExportController extends Controller if (I('platform_type', 0) != 0) { $sy = I('platform_type', 0) == 1 ? '=' : '<>'; - $platformWhere = 'exists (select 1 from tab_game where id = tab_spend.game_id and unique_code ' . $sy . ' "")'; - if (isset($map['_string']) && $map['_string']) { - $map['_string'] = $map['_string'] . ' and ' . $platformWhere; - } else { - $map['_string'] = $platformWhere; - } + $game_id = M("Game","tab_")->where('unique_code ' . $sy . ' ""')->getField("id",true); + $map['game_id'] = ['in',$game_id]; } // if (intval(($endTime + 1) - $startTime) / (24 * 3600) <= 31) { @@ -1204,7 +1200,7 @@ class ExportController extends Controller // } $map1 = $map; $map1['pay_status'] = 1; - $total = M('Spend','tab_')->where($map1)->sum('pay_amount'); + $total = SM('Spend','tab_')->where($map1)->sum('pay_amount'); // var_dump($total);die(); $total=$total?$total:0; @@ -1280,7 +1276,7 @@ class ExportController extends Controller mb_convert_variables('GBK', 'UTF-8', $xlsCell); fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中 - $accessNum = D('Spend') + $accessNum = SM('Spend') ->where($map) ->count(); @@ -1289,7 +1285,7 @@ class ExportController extends Controller // var_dump($count);die(); for($i = 1; $i <= $pages; $i++) { - $xlsData = D('Spend') + $xlsData = SM('Spend') ->field($fields) ->where($map) ->limit(($i-1)*$perSize ,$perSize) diff --git a/Application/Admin/Controller/RechargeSumController.class.php b/Application/Admin/Controller/RechargeSumController.class.php index 05a34ef18..595322480 100644 --- a/Application/Admin/Controller/RechargeSumController.class.php +++ b/Application/Admin/Controller/RechargeSumController.class.php @@ -80,11 +80,11 @@ class RechargeSumController extends ThinkController } $map['pay_status'] = 1; - $newAddPay = D('Spend')->where(array_merge($map, array('_string' => '( small_id = 0 or small_id = user_id)')))->sum('pay_amount'); + $newAddPay = SM('spend',"tab_")->where(array_merge($map, array('_string' => '( small_id = 0 or small_id = user_id)')))->sum('pay_amount'); //当天累计付费 unset($map['user_id']); - $accumulated = D('Spend')->where($map)->sum('pay_amount'); + $accumulated = SM('spend',"tab_")->where($map)->sum('pay_amount'); $data[$key]['date'] = date('Y-m-d', $start); $data[$key]['game_id'] = empty($_REQUEST['game_name']) ? "全部" : $_REQUEST['game_name']; diff --git a/Application/Admin/Controller/SpendController.class.php b/Application/Admin/Controller/SpendController.class.php index 047cf8ba4..21cc11748 100644 --- a/Application/Admin/Controller/SpendController.class.php +++ b/Application/Admin/Controller/SpendController.class.php @@ -119,12 +119,8 @@ class SpendController extends ThinkController } if (I('platform_type', 0) != 0) { $sy = I('platform_type', 0) == 1 ? '=' : '<>'; - $platformWhere = 'exists (select 1 from tab_game where id = tab_spend.game_id and unique_code ' . $sy . ' "")'; - if (isset($map['_string']) && $map['_string']) { - $map['_string'] = $map['_string'] . ' and ' . $platformWhere; - } else { - $map['_string'] = $platformWhere; - } + $game_id = M("Game","tab_")->where('unique_code ' . $sy . ' ""')->getField("id",true); + $map['game_id'] = ['in',$game_id]; } // if (intval(($endTime + 1) - $startTime) / (24 * 3600) <= 31) { From 3fdc14120fe0fb410a5c1335c35de613d833a8c9 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 18 Dec 2020 15:00:42 +0800 Subject: [PATCH 07/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=8A=98=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 2 +- Application/Admin/Conf/config.php | 3 ++- .../Admin/Controller/IndexChartSetController.class.php | 4 ++-- Application/Admin/Controller/IndexController.class.php | 10 +++++----- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index 7719c610f..48d585020 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1060,7 +1060,7 @@ function showNumPercent($num) //优化子站点实例化方法 function SM($name='', $tablePrefix='tab_') { - $tableName = strtolower($tablePrefix.$name); + $tableName = strtolower($tablePrefix.unCamelize($name)); if(is_subsiteTable($tableName)){ return M($name, $tablePrefix,SUBSITE_DB); } diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index 4a5cdab53..e90a461e2 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -117,6 +117,7 @@ return array( /*分库的表格*/ 'SUBSITE_TABLE'=>[ "tab_spend", - "sys_auth_group" + "sys_auth_group", + "tab_index_chart" ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/IndexChartSetController.class.php b/Application/Admin/Controller/IndexChartSetController.class.php index d5582be59..fa437b3e0 100644 --- a/Application/Admin/Controller/IndexChartSetController.class.php +++ b/Application/Admin/Controller/IndexChartSetController.class.php @@ -33,9 +33,9 @@ class IndexChartSetController extends AdminController { //初始化 $this->UserModel =M("User","tab_"); - $this->ChartModel =M("IndexChart","tab_"); + $this->ChartModel =SM("IndexChart","tab_"); $this->LoginModel =M("user_login_record","tab_"); - $this->SpendModel =M("spend","tab_"); + $this->SpendModel =SM("spend","tab_"); $this->PromoteModel =M("promote","tab_"); $this->nowdata =time(); if(I("reset")) $this->reset = true; diff --git a/Application/Admin/Controller/IndexController.class.php b/Application/Admin/Controller/IndexController.class.php index 8a47b995f..d15cd55f1 100644 --- a/Application/Admin/Controller/IndexController.class.php +++ b/Application/Admin/Controller/IndexController.class.php @@ -49,7 +49,7 @@ class IndexController extends AdminController { $this->foldLineDiagram($_REQUEST['start'],$_REQUEST['end'],$_REQUEST['num']); } $tm =strtotime(date("Y-m-d",strtotime("-1 day"))); - $allcount = M("IndexChart","tab_")->field("all_count")->where("`date` = '{$tm}'")->find(); + $allcount = SM("IndexChart","tab_")->field("all_count")->order("date desc")->find(); $allcount = json_decode($allcount['all_count'],true); $this->assign('user_count',$allcount['user_count']); @@ -223,7 +223,7 @@ class IndexController extends AdminController { $data['date'] = [$start]; $data['hours'] = 1; $tm = strtotime($start); - $dbdata = M("IndexChart","tab_")->field("new_user_count,new_user_hours,active_user_count,active_user_hours,pay_user_count,pay_user_hours,pay_money_count,pay_money_hours,promote_new_count")->where("`date` = '{$tm}'")->find(); + $dbdata = SM("IndexChart","tab_")->field("new_user_count,new_user_hours,active_user_count,active_user_hours,pay_user_count,pay_user_hours,pay_money_count,pay_money_hours,promote_new_count")->where("`date` = '{$tm}'")->find(); $data['news'] = json_decode($dbdata["new_user_hours"],true); $data['active'] = json_decode($dbdata["active_user_hours"],true); $data['player']=json_decode($dbdata["pay_user_hours"],true); @@ -231,7 +231,7 @@ class IndexController extends AdminController { //获取昨天 $ytm = $starttime-86400; - $ydbdata = M("IndexChart","tab_")->field("new_user_count,active_user_count,pay_user_count,pay_money_count,promote_new_count")->where("`date` = '{$ytm}'")->find(); + $ydbdata = SM("IndexChart","tab_")->field("new_user_count,active_user_count,pay_user_count,pay_money_count,promote_new_count")->where("`date` = '{$ytm}'")->find(); //计算 $cnews['count'] = $dbdata['new_user_count']; $cnews['rate'] = $this->setRate($dbdata['new_user_count'],$ydbdata['new_user_count']); @@ -260,7 +260,7 @@ class IndexController extends AdminController { $count1 = array(); $active_user_list = []; $pay_user_list = []; - $dbdata = M("IndexChart","tab_")->field("FROM_UNIXTIME(`date`, '%Y-%m-%d') as time,new_user_count,active_user_count,active_user_list,pay_user_count,pay_user_list,pay_money_count,promote_new_count") + $dbdata = SM("IndexChart","tab_")->field("FROM_UNIXTIME(`date`, '%Y-%m-%d') as time,new_user_count,active_user_count,active_user_list,pay_user_count,pay_user_list,pay_money_count,promote_new_count") ->where($map) ->group("time") ->select(); @@ -330,7 +330,7 @@ class IndexController extends AdminController { $map1 = array( "date"=>$between ); - $ydbdata = M("IndexChart","tab_")->field("new_user_count,active_user_count,active_user_list,pay_user_count,pay_user_list,pay_money_count,promote_new_count") + $ydbdata = SM("IndexChart","tab_")->field("new_user_count,active_user_count,active_user_list,pay_user_count,pay_user_list,pay_money_count,promote_new_count") ->where($map1)->select(); $active_user_list = []; $pay_user_list = []; From b7cc3ccd77ba34fe3f8703559a46d0c0fa38b382 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 18 Dec 2020 19:01:42 +0800 Subject: [PATCH 08/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 3 ++- .../Admin/Controller/AdminController.class.php | 1 + Application/Admin/Model/DepositModel.class.php | 5 +++++ Application/Admin/View/Deposit/lists.html | 12 +++++++----- ThinkPHP/Library/Think/Auth.class.php | 11 ++++++----- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index e90a461e2..f9d701ed4 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -118,6 +118,7 @@ return array( 'SUBSITE_TABLE'=>[ "tab_spend", "sys_auth_group", - "tab_index_chart" + "tab_index_chart", + "tab_deposit" ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/AdminController.class.php b/Application/Admin/Controller/AdminController.class.php index 412a80191..c74e8a4e6 100644 --- a/Application/Admin/Controller/AdminController.class.php +++ b/Application/Admin/Controller/AdminController.class.php @@ -406,6 +406,7 @@ class AdminController extends Controller { } session('ADMIN_MENU_LIST.'.$controller,$menus); } + return $menus; } diff --git a/Application/Admin/Model/DepositModel.class.php b/Application/Admin/Model/DepositModel.class.php index 4370db4f0..08a0a3209 100644 --- a/Application/Admin/Model/DepositModel.class.php +++ b/Application/Admin/Model/DepositModel.class.php @@ -36,6 +36,11 @@ class DepositModel extends Model { public function __construct($name = '', $tablePrefix = '', $connection = '') { /* 设置默认的表前缀 */ $this->tablePrefix ='tab_'; + if(is_subsiteTable("tab_spend")){ + //修改连接 + $this->connection = SUBSITE_DB; + $connection = SUBSITE_DB; + } /* 执行构造方法 */ parent::__construct($name, $tablePrefix, $connection); } diff --git a/Application/Admin/View/Deposit/lists.html b/Application/Admin/View/Deposit/lists.html index 99256ec9d..e268f6b63 100644 --- a/Application/Admin/View/Deposit/lists.html +++ b/Application/Admin/View/Deposit/lists.html @@ -28,10 +28,12 @@ @@ -212,7 +214,7 @@ - +
{$vo.title} + + {$vo.title} + + {$vo.title} + + @@ -43,25 +50,31 @@ 访问授权 - 分类授权 - 成员授权 - 数据授权 - - 市场专员分成 + + 访问授权 + + 分类授权 + 成员授权 + 数据授权 + + 市场专员分成 + {:get_status_title($vo['status'])} {:get_status_title($vo['status'])} - 禁用 - - 正常 - - 删除 - + + + 禁用 + + 正常 + + 删除 + +
- + 通知到账 diff --git a/ThinkPHP/Library/Think/Auth.class.php b/ThinkPHP/Library/Think/Auth.class.php index 4c1dea1cd..3001a6d9c 100644 --- a/ThinkPHP/Library/Think/Auth.class.php +++ b/ThinkPHP/Library/Think/Auth.class.php @@ -148,11 +148,12 @@ class Auth{ static $groups = array(); if (isset($groups[$uid])) return $groups[$uid]; - $user_groups = M() - ->table($this->_config['AUTH_GROUP_ACCESS'] . ' a') - ->where("a.uid='$uid' and g.status='1'") - ->join($this->_config['AUTH_GROUP']." g on a.group_id=g.id") - ->field('uid,group_id,title,rules')->select(); + $user_base = M()->table($this->_config['AUTH_GROUP_ACCESS'])->where("uid = {$uid}")->field('uid,group_id')->find(); + $user_rule= SM("auth_group","sys_")->where("id = {$user_base['group_id']} and status = 1")->field('title,rules')->find(); + if(empty($user_base) || empty($user_rule)){ + return []; + } + $user_groups = [array_merge($user_base,$user_rule)]; $groups[$uid]=$user_groups?:array(); return $groups[$uid]; } From 419793d91b517e814b0572b2716d24e2c68e4d07 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 21 Dec 2020 18:10:17 +0800 Subject: [PATCH 09/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8A=E6=B8=B8?= =?UTF-8?q?=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 6 +++++- .../Controller/CompanyStatementSetController.class.php | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index f9d701ed4..21dfe2b40 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -119,6 +119,10 @@ return array( "tab_spend", "sys_auth_group", "tab_index_chart", - "tab_deposit" + "tab_deposit", + "tab_company_statement", + "tab_company_lack_statement_info", + "tab_company_statement_info", + "tab_company_statement_pool", ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index ba46ce8ed..8203e4a1a 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -255,7 +255,7 @@ class CompanyStatementSetController extends Controller { // TODO:此处不判断现游戏名=原包名,但却不是同一款游戏 $verify_log=json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]); $GameDb = M("Game","tab_"); - $StatementDb = M("CompanyStatement","tab_"); + $StatementDb = SM("CompanyStatement","tab_"); $statement_begin_time = date("Y.m.d",$begintime); $statement_end_time = date("Y.m.d",$endtime); @@ -451,7 +451,7 @@ class CompanyStatementSetController extends Controller { "payed_time"=>["BETWEEN",[$begintime,$endtime]], "game_id"=>["in",$gmstr] ]; - $paydb = M('spend','tab_'); + $paydb = SM('spend','tab_'); $paylist = $paydb->field("game_id,SUM(pay_amount) pay_amount")->where($paywhere)->group("game_id")->select(); if(empty($paylist)){ return []; From ad73fe03b3d52158efa99979427f6de5d77a6679 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 21 Dec 2020 18:17:48 +0800 Subject: [PATCH 10/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8A=E6=B8=B8?= =?UTF-8?q?=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index 48d585020..4d32052fe 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1069,7 +1069,7 @@ function SM($name='', $tablePrefix='tab_') //判断是否有子站点表格 function is_subsiteTable($tableName) { - if(in_array($tableName,C('SUBSITE_TABLE')) && IS_SUBSITE){ + if(IS_SUBSITE && in_array($tableName,C('SUBSITE_TABLE'))){ return true; } return false; From 8ef35174dc15ba0e6aad8fcecd20c998c2d7d555 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 22 Dec 2020 11:42:28 +0800 Subject: [PATCH 11/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E8=A1=A5=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CompanyStatementController.class.php | 36 +++++++++---------- .../CompanyStatementSetController.class.php | 3 +- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Application/Admin/Controller/CompanyStatementController.class.php b/Application/Admin/Controller/CompanyStatementController.class.php index d6b84bc75..39bb1c553 100644 --- a/Application/Admin/Controller/CompanyStatementController.class.php +++ b/Application/Admin/Controller/CompanyStatementController.class.php @@ -35,7 +35,7 @@ class CompanyStatementController extends ThinkController public function _initialize() { $this->admininfo = $_SESSION['onethink_admin']['user_auth']; - $this->DBModel = M("CompanyStatement","tab_"); + $this->DBModel = SM("CompanyStatement","tab_"); parent::_initialize(); } public function lists() { @@ -147,7 +147,7 @@ class CompanyStatementController extends ThinkController // dd($map); // $this->checkListOrCountAuthRestMap($map);//导出权限 //条件end - $data = M("company_statement","tab_") + $data = $this->DBModel ->field("id,withdraw_type,company_name,company_belong,statement_begin_time,statement_end_time,statement_money,platform_amount,verify_status,verify_log,confirm_status,confirm_log,op_time,remark") ->where($map) ->order("statement_begin_time desc,id desc")->page($page,$row)->select(); @@ -210,7 +210,7 @@ class CompanyStatementController extends ThinkController } $v['oplist'] = $this->OpAuth($v); } - $count = M("company_statement","tab_")->field("count(id) count,IFNULL(SUM(CASE WHEN withdraw_type < 2 THEN platform_amount ELSE 0 END),0) as platform_amount,SUM(statement_money) as statement_money")->where($map)->find(); + $count = $this->DBModel->field("count(id) count,IFNULL(SUM(CASE WHEN withdraw_type < 2 THEN platform_amount ELSE 0 END),0) as platform_amount,SUM(statement_money) as statement_money")->where($map)->find(); // dd($count); $params['p'] = $page; $params['row'] = $row; @@ -236,7 +236,7 @@ class CompanyStatementController extends ThinkController } $id = $_REQUEST['id']; //获取基本信息 - $dbres = M("CompanyStatement","tab_")->where("id='{$id}'")->find(); + $dbres = $this->DBModel->where("id='{$id}'")->find(); $first_party_info = json_decode($dbres['first_party_info'],true); $second_party_info = json_decode($dbres['second_party_info'],true); $statement_info = json_decode($dbres['statement_info'],true); @@ -328,12 +328,12 @@ class CompanyStatementController extends ThinkController $params['second_party_info'] = json_encode($params['second_party_info'],JSON_UNESCAPED_UNICODE); $params['statement_info'] = json_encode($params['statement_info'],JSON_UNESCAPED_UNICODE); - $y = M("CompanyStatement", "tab_")->where("id='{$params['id']}'")->find(); + $y = $this->DBModel->where("id='{$params['id']}'")->find(); if($y['first_party_info'] != $params['first_party_info'] || $y['second_party_info'] != $params['second_party_info'] || $y['statement_info'] != $params['statement_info']){ $params['verify_status'] = 0; $params['verify_log'] = json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y.m.d H:i:s")]); $params['op_time'] = time(); - M("CompanyStatement","tab_")->save($params); + $this->DBModel->save($params); } $this->ajaxReturn(["code"=>0,"msg"=>"ok"]); }else{ @@ -342,7 +342,7 @@ class CompanyStatementController extends ThinkController } $id = $_REQUEST['id']; //获取基本信息 - $dbres = M("CompanyStatement", "tab_")->where("id='{$id}'")->find(); + $dbres = $this->DBModel->where("id='{$id}'")->find(); $dbres['first_party_info'] = json_decode($dbres['first_party_info'], true); $dbres['second_party_info']= json_decode($dbres['second_party_info'], true); $dbres['statement_info'] = json_decode($dbres['statement_info'], true); @@ -504,7 +504,7 @@ class CompanyStatementController extends ThinkController if(!isset($_REQUEST['id'])) $this->error("参数错误"); $id = $_REQUEST['id']; - $data = M("CompanyStatement","tab_")->where(['id' => $id])->find(); + $data = $this->DBModel->where(['id' => $id])->find(); $data['first_party_info'] = json_decode($data['first_party_info'], 1);//甲方 $data['second_party_info'] = json_decode($data['second_party_info'], 1);//乙方 @@ -552,7 +552,7 @@ class CompanyStatementController extends ThinkController if ($data['withdraw_type'] == 3 && $data['company_type'] == 2) { - $dbres = M("CompanyStatement","tab_")->where(['id' => $id])->find(); + $dbres = $this->DBModel->where(['id' => $id])->find(); if($dbres['pay_type'] == 2){ //乙方收款 $dbres['company_info'] = $dbres['second_party_info']; @@ -766,8 +766,8 @@ class CompanyStatementController extends ThinkController } } - $Pool = M("company_statement_pool","tab_"); - $Statemen = M("company_statement","tab_"); + $Pool = SM("company_statement_pool","tab_"); + $Statemen = $this->DBModel; foreach ($datas as $k => $v) { if(count($v['company_list']) <= 0){continue;} $v['statement_num'] = "PL_".date('Ymd').date('His').sp_random_num(3); @@ -807,10 +807,10 @@ class CompanyStatementController extends ThinkController } if(!empty($info)){ $save["pool_id"]=$pool_id; - M("company_statement_info","tab_")->where("id in ({$info})")->save($save); + SM("company_statement_info","tab_")->where("id in ({$info})")->save($save); } if(!empty($v['del_lack_ids'])){ - M("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]); + SM("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]); } //修改结算单规则 $this->updatePoolVerifyStatus($v['statement_ids'],2,"pool",$v['statement_num']); @@ -837,10 +837,10 @@ class CompanyStatementController extends ThinkController } //保存 protected function addStatementInfo($va,$k,&$v){ - $StatementInfo = M("company_statement_info","tab_"); + $StatementInfo = SM("company_statement_info","tab_"); $company_info = $va['company_info']; - $LackStatement = M("company_lack_statement_info","tab_"); + $LackStatement = SM("company_lack_statement_info","tab_"); $no_pool_money = 300; //统一比例字段 if($k == "up" || $k=="ups"){ @@ -1044,7 +1044,7 @@ class CompanyStatementController extends ThinkController "up_company_id"=>[], "dowm_company_id"=>[], ]; - $statement = M("company_statement","tab_")->field("count(id) count,company_id,company_belong")->group("company_id,company_belong")->select(); + $statement = $this->DBModel->field("count(id) count,company_id,company_belong")->group("company_id,company_belong")->select(); $up_company_id = []; $dowm_company_id= []; foreach( $statement as $k=>$v){ @@ -1159,7 +1159,7 @@ class CompanyStatementController extends ThinkController if ($_REQUEST['relation_game_id']) { $relation_game_id = implode(',',$_REQUEST['relation_game_id']); - + // dd($relation_game_id); $map['relation_game_id'] = ['in',$relation_game_id]; $radioMap['tab_company_game_ratio.relation_game_id'] = ['in',$relation_game_id]; @@ -1182,7 +1182,7 @@ class CompanyStatementController extends ThinkController $start_time = strtotime($_REQUEST['time_start']); $end_time = strtotime($_REQUEST['time_end']) + 86399; - $check_add = M("company_statement","tab_")->field("statement_begin_time,statement_end_time,statement_info,company_type")->where(['company_id'=>$_REQUEST['company_id'],'withdraw_type'=>3])->select(); + $check_add = $this->DBModel->field("statement_begin_time,statement_end_time,statement_info,company_type")->where(['company_id'=>$_REQUEST['company_id'],'withdraw_type'=>3])->select(); foreach ($check_add as $key => $value) { diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index 8203e4a1a..1db73a6e0 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -256,7 +256,7 @@ class CompanyStatementSetController extends Controller { $verify_log=json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]); $GameDb = M("Game","tab_"); $StatementDb = SM("CompanyStatement","tab_"); - + dump($cpList); $statement_begin_time = date("Y.m.d",$begintime); $statement_end_time = date("Y.m.d",$endtime); foreach($cpList as $k=>$v){ @@ -425,6 +425,7 @@ class CompanyStatementSetController extends Controller { //非重算 return $add_data; } + dump($add_data); $StatementDb->add($add_data); } From 76874cf34a406764c45531a43e007167e3a44800 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 23 Dec 2020 14:48:36 +0800 Subject: [PATCH 12/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/FinanceController.class.php | 8 +- Application/Admin/Model/SpendModel.class.php | 74 +++++++------------ 2 files changed, 31 insertions(+), 51 deletions(-) diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 6a5fbcf6c..6a1f53def 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -712,12 +712,12 @@ class FinanceController extends ThinkController $gameWhere = []; $testStrWhere = '1=1'; if ($game_ids) { - $map['s.game_id'] = ['in', $game_ids]; + // $map['s.game_id'] = ['in', $game_ids]; $gameWhere['id'] = ['in', $game_ids]; } if (!empty(I('partner_id'))) { - $map['g.partner_id'] = I('partner_id'); + // $map['g.partner_id'] = I('partner_id'); $gameWhere['partner_id'] = I('partner_id'); } @@ -737,14 +737,14 @@ class FinanceController extends ThinkController } if (!empty(I('game_type_id'))) { - $map['g.game_type_id'] = I('game_type_id'); + // $map['g.game_type_id'] = I('game_type_id'); $gameWhere['game_type_id'] = I('game_type_id', 0); } $searchGameIds = M('game', 'tab_')->where($gameWhere)->getField('id', true); $startTime = time(); //游戏统计列表 - $data = D("spend")->gameStatistics($map, $row, $p); + $data = D("spend")->gameStatistics($map,$searchGameIds, $row, $p); $gameIds = array_column($data, 'game_id'); $uniqueCodes = array_column($data, 'unique_code'); $uniqueCodes = array_filter($uniqueCodes, function($value) { diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index dffcf99d7..6889e21bd 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -861,68 +861,48 @@ class SpendModel extends Model * @param $row int 每页条数 * @param $page int 第几页 */ - public function gameStatistics($map, $row = 0, $page = 1) - { - $gameMap = $this->getGameMapByGameStatMap($map); - $gameQuery = M('game', 'tab_')->field(['id', 'relation_game_name', 'unique_code', 'partner_id', 'game_type_name', 'sdk_version'])->where($gameMap); + public function gameStatistics($map,$gameIds, $row = 0, $page = 1) + { + $gameMap = [ + "g.id"=>["in",$gameIds] + ]; + $gameQuery = M('game', 'tab_') + ->alias('g') + ->field(['g.id game_id', 'g.relation_game_name game_name', 'g.unique_code', 'g.game_type_name', 'g.sdk_version','IFNULL(p.partner,"无") as partner_name']) + ->join('LEFT JOIN tab_partner as p ON g.partner_id=p.id') + ->where($gameMap); if ($row) { $gameQuery->page($page,$row); } $games = $gameQuery->select(); + $partners = []; if (count($games)) { - $map['s.game_id'] = ['in', array_column($games, 'id')]; - $partners = M('partner', 'tab_')->field(['id', 'partner'])->where(['id' => ['in', array_column($games, 'partner_id')]])->select(); - $partners = index_by_column('id', $partners); + $map['s.game_id'] = ['in', array_column($games, 'game_id')]; } - - $noticeFailData = M("Spend s use index(game_time)","tab_") - ->field("SUM(pay_amount) as notice_fail_count,game_id") - ->join('LEFT JOIN tab_game as g ON s.game_id=g.id') - ->join('LEFT JOIN tab_partner as p ON g.partner_id=p.id') - ->where(['s.pay_status' => 1, 'pay_game_status' => 0]) + $data = M("Spend s use index(game_time)","tab_") + ->where(['s.pay_status' => 1]) ->where($map) ->group('s.game_id') - ->select(false); - - $query = M("Spend s use index(game_time)","tab_") - ->field("s.game_id,g.relation_game_name game_name, g.unique_code, p.partner as partner_name, g.game_type_name, + ->getField("s.game_id, SUM(CASE WHEN pay_way > 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as cash_count, -SUM(CASE WHEN pay_way = 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as balance_coin_count, -SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as inside_cash_count,g.sdk_version,notice_fail_count") - ->join('LEFT JOIN tab_game as g ON s.game_id=g.id') - ->join('LEFT JOIN tab_partner as p ON g.partner_id=p.id') - ->join("LEFT JOIN ({$noticeFailData})a ON s.game_id = a.game_id") - ->where(['s.pay_status' => 1]) -// ->where("(s.pay_status = 1 and pay_game_status = 1) or (s.pay_status = 1 and pay_game_status = 0)") - ->where($map) - ->group('s.game_id'); - /* if ($row) { - $query = $query->page($page,$row); - } */ - $data = $query->select(); - $data = index_by_column('game_id', $data); + SUM(CASE WHEN pay_way = 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as balance_coin_count, + SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as inside_cash_count, + SUM(CASE WHEN s.pay_status = 1 and pay_game_status = 0 THEN pay_amount ELSE 0 END) as notice_fail_count"); + $base = [ + 'cash_count' => 0, + 'balance_coin_count' => 0, + 'inside_cash_count' => 0, + 'notice_fail_count' => 0 + ]; $records = []; foreach ($games as $game) { - if (isset($data[$game['id']])) { - $records[] = $data[$game['id']]; + if (isset($data[$game['game_id']])) { + $records[] = array_merge($game,$data[$game['game_id']]); } else { - $partner = $partners[$game['partner_id']] ?? null; - $records[] = [ - 'game_id' => $game['id'], - 'game_name' => $game['relation_game_name'], - 'unique_code' => $game['unique_code'], - 'partner_name' => $partner ? $partner['partner'] : '无', - 'game_type_name' => $game['game_type_name'], - 'cash_count' => 0, - 'balance_coin_count' => 0, - 'inside_cash_count' => 0, - 'sdk_version' => $game['sdk_version'], - 'notice_fail_count' => 0 - ]; + $records[] = array_merge($game,$base); } } - return $records; } public function gameStatisticsCount($map) From 236bd8f5387e26e1f6c8ec2935670c3ad0cc0f60 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 23 Dec 2020 15:39:56 +0800 Subject: [PATCH 13/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/FinanceController.class.php | 4 +- Application/Admin/Model/SpendModel.class.php | 52 ++++++------------- 2 files changed, 19 insertions(+), 37 deletions(-) diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 6a1f53def..46970e636 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -843,7 +843,7 @@ class FinanceController extends ThinkController $data[$key]['test_amount'] = $testAmount; } - $count = D("spend")->gameStatisticsCount($map);//列表总数 + $count = count($searchGameIds);//列表总数 // $allData = D("spend")->gameStatistics($map);//列表总数 // $count = count($allData); $page = set_pagination($count, $row); @@ -864,7 +864,7 @@ class FinanceController extends ThinkController $map['_string'] = " s.game_id not in (" . implode(',', $exceptIds) . ")"; } } - $totalData = D("spend")->totalGameStatistics($map); + $totalData = D("spend")->totalGameStatistics($map,$searchGameIds); $sumCash = $totalData['cash_count']; $sumBalance = $totalData['balance_coin_count']; diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 6889e21bd..e6fffad4e 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -875,12 +875,14 @@ class SpendModel extends Model $gameQuery->page($page,$row); } $games = $gameQuery->select(); - - $partners = []; if (count($games)) { $map['s.game_id'] = ['in', array_column($games, 'game_id')]; + }else{ + $map['s.game_id'] = '-1'; } - $data = M("Spend s use index(game_time)","tab_") + $data = SM("Spend","tab_") + ->alias('s') + ->index('game_time') ->where(['s.pay_status' => 1]) ->where($map) ->group('s.game_id') @@ -914,40 +916,20 @@ class SpendModel extends Model /** *获取游戏统计列表数据 */ - public function totalGameStatistics($map, $join = true) - { - $noticeFailData = M("Spend s use index(game_time)","tab_") - ->field("SUM(pay_amount) as notice_fail_count,game_id") - ->join('LEFT JOIN tab_game as g ON s.game_id=g.id') - ->join('LEFT JOIN tab_partner as p ON g.partner_id=p.id') - ->where(['s.pay_status' => 1, 'pay_game_status' => 0]) - ->where($map) - ->find(); -// var_dump($noticeFailData);die(); - - - $query = M("Spend s use index(game_time)","tab_") - ->field("SUM(CASE WHEN pay_way > 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as cash_count, -SUM(CASE WHEN pay_way = 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as balance_coin_count, -SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as inside_cash_count"); - if ($join) { - $query = $query->join('LEFT JOIN tab_game as g ON s.game_id=g.id') - ->join('LEFT JOIN tab_partner as p ON g.partner_id=p.id'); - } - $data = $query->where(['s.pay_status' => 1]) + public function totalGameStatistics($map,$gameIds, $join = true) + { + $map['s.game_id'] = ['in', $gameIds]; + $data = SM("Spend","tab_") + ->alias('s') + ->index('game_time') + ->field(" + SUM(CASE WHEN pay_way > 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as cash_count, + SUM(CASE WHEN pay_way = 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as balance_coin_count, + SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as inside_cash_count, + SUM(CASE WHEN s.pay_status = 1 and pay_game_status = 0 THEN pay_amount ELSE 0 END) as notice_fail_count") + ->where(['s.pay_status' => 1]) ->where($map) ->find(); - -// $gc_game_id = array_unique(explode(',',$data['gc_game_id'])); - -// $noticeFailData = M("Spend s use index(game_time)","tab_") -// ->field("SUM(pay_amount) as notice_fail_count,game_id") -// ->where(['s.pay_status' => 1, 'pay_game_status' => 0]) -// ->where($noticeMap) -// ->find(); - - $data['notice_fail_count'] = $noticeFailData['notice_fail_count']; -// dd($query->_sql()); return $data; } From f00ef7fcc98bf80c8cabbc0a9171e17a525a70bd Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 23 Dec 2020 18:20:35 +0800 Subject: [PATCH 14/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/ExportController.class.php | 166 +++++++++--------- .../Controller/FinanceController.class.php | 40 ++++- Application/Admin/Model/SpendModel.class.php | 30 +++- 3 files changed, 140 insertions(+), 96 deletions(-) diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 686cb5a10..131d99eca 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -8559,89 +8559,89 @@ class ExportController extends Controller $this->exportExcel($xlsName, $xlsCell, $xlsData); } - public function gameStatisticsDetail() { - $game_name = I("game_name"); - $xlsName = $game_name . '游戏订单查看'; - - $xlsCell = array( - array('pay_order_number','支付订单号'), - array('extend','游戏订单号'), - array('pay_time','充值时间'), - array('user_account','玩家账号'), - array('game_name','游戏名称'), - array('promote_account','所属推广员'), - array('spend_ip','充值ip'), - array('server_name','游戏区服'), - array('game_player_name','角色名称'), - array('cost','订单金额'), - array('pay_amount','实付金额'), - array('pay_way','充值方式'), - ); - - if (isset($_REQUEST['pay_way'])) { - $map['pay_way'] = $_REQUEST['pay_way']; - } - - if (!empty($_REQUEST['pay_order_number'])) { - $map['pay_order_number'] = $_REQUEST['pay_order_number']; - } - - if (!empty(I('partner_id'))&&empty(I("game_id"))) { - $wherePartner = I('partner_id'); - $gameId = M("game","tab_")->field("id")->where("partner_id={$wherePartner}")->select(); - $gameId = implode(',',array_column($gameId,'id')); - $map['game_id'] = ['in',$gameId]; - } - - if (!empty(I('timestart'))) { - $timestart = strtotime(I('timestart')); - $map['_string'] = "pay_time >= {$timestart}"; - } - - if (!empty(I('timeend'))) { - $timeend = strtotime(I('timeend') . ' 23:59:59'); - if (!empty($map['_string'])) { - $map['_string'] .= " and "; - } - $map['_string'] .= " pay_time < {$timeend}"; - } - - $map['pay_game_status'] = 1; - if (!empty(I("game_id"))) { - $map['game_id'] = I("game_id"); - } - if (!empty(I('user_account'))) { - $map['user_account'] = array('like','%'.I("user_account").'%'); - } - if (!empty(I('user_nickname'))) { - $map['game_player_name'] = array('like',I("user_nickname").'%'); - } - - $field = "pay_order_number,FROM_UNIXTIME(pay_time) as pay_time,user_account,game_name,promote_account,spend_ip,server_name,game_player_name,pay_amount,cost,pay_way,extend"; - $group = ""; - $order = "pay_time DESC"; - - $xlsData = D('spend')->getSpendData($map,$field,$group,$order); -// dd(D("spend")->_sql()); - foreach($xlsData as $key => $value) { - $xlsData[$key]['pay_way'] = getPayType($value['pay_way']); - } - - $totalData = D("spend")->totalGameStatistics($map, false); - - $sumCash = $totalData['cash_count'] ?? 0; - $sumBalance = $totalData['balance_coin_count'] ?? 0; - $sumInside = $totalData['inside_cash_count'] ?? 0; - $sumAll = $sumCash + $sumBalance + $sumInside; - - $sumData = [['pay_order_number'=>'总计:' . $sumAll, - 'extend'=>'现金金额:' . $sumCash, - 'pay_time'=>'平台币:' . $sumBalance, - 'user_account'=>'绑币:' . $sumInside]]; - $xlsData = array_merge($xlsData,$sumData); - $this->exportAddOperationLog("Finance/gameStatisticsDetail","充值-财务管理-游戏统计-查看-导出"); - $this->exportExcel($xlsName, $xlsCell, $xlsData); - } +// public function gameStatisticsDetail() { +// $game_name = I("game_name"); +// $xlsName = $game_name . '游戏订单查看'; + +// $xlsCell = array( +// array('pay_order_number','支付订单号'), +// array('extend','游戏订单号'), +// array('pay_time','充值时间'), +// array('user_account','玩家账号'), +// array('game_name','游戏名称'), +// array('promote_account','所属推广员'), +// array('spend_ip','充值ip'), +// array('server_name','游戏区服'), +// array('game_player_name','角色名称'), +// array('cost','订单金额'), +// array('pay_amount','实付金额'), +// array('pay_way','充值方式'), +// ); + +// if (isset($_REQUEST['pay_way'])) { +// $map['pay_way'] = $_REQUEST['pay_way']; +// } + +// if (!empty($_REQUEST['pay_order_number'])) { +// $map['pay_order_number'] = $_REQUEST['pay_order_number']; +// } + +// if (!empty(I('partner_id'))&&empty(I("game_id"))) { +// $wherePartner = I('partner_id'); +// $gameId = M("game","tab_")->field("id")->where("partner_id={$wherePartner}")->select(); +// $gameId = implode(',',array_column($gameId,'id')); +// $map['game_id'] = ['in',$gameId]; +// } + +// if (!empty(I('timestart'))) { +// $timestart = strtotime(I('timestart')); +// $map['_string'] = "pay_time >= {$timestart}"; +// } + +// if (!empty(I('timeend'))) { +// $timeend = strtotime(I('timeend') . ' 23:59:59'); +// if (!empty($map['_string'])) { +// $map['_string'] .= " and "; +// } +// $map['_string'] .= " pay_time < {$timeend}"; +// } + +// $map['pay_game_status'] = 1; +// if (!empty(I("game_id"))) { +// $map['game_id'] = I("game_id"); +// } +// if (!empty(I('user_account'))) { +// $map['user_account'] = array('like','%'.I("user_account").'%'); +// } +// if (!empty(I('user_nickname'))) { +// $map['game_player_name'] = array('like',I("user_nickname").'%'); +// } + +// $field = "pay_order_number,FROM_UNIXTIME(pay_time) as pay_time,user_account,game_name,promote_account,spend_ip,server_name,game_player_name,pay_amount,cost,pay_way,extend"; +// $group = ""; +// $order = "pay_time DESC"; + +// $xlsData = D('spend')->getSpendData($map,$field,$group,$order); +// // dd(D("spend")->_sql()); +// foreach($xlsData as $key => $value) { +// $xlsData[$key]['pay_way'] = getPayType($value['pay_way']); +// } + +// $totalData = D("spend")->totalGameStatistics($map, false); + +// $sumCash = $totalData['cash_count'] ?? 0; +// $sumBalance = $totalData['balance_coin_count'] ?? 0; +// $sumInside = $totalData['inside_cash_count'] ?? 0; +// $sumAll = $sumCash + $sumBalance + $sumInside; + +// $sumData = [['pay_order_number'=>'总计:' . $sumAll, +// 'extend'=>'现金金额:' . $sumCash, +// 'pay_time'=>'平台币:' . $sumBalance, +// 'user_account'=>'绑币:' . $sumInside]]; +// $xlsData = array_merge($xlsData,$sumData); +// $this->exportAddOperationLog("Finance/gameStatisticsDetail","充值-财务管理-游戏统计-查看-导出"); +// $this->exportExcel($xlsName, $xlsCell, $xlsData); +// } public function coinDetail() { diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 46970e636..91c54410c 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -712,12 +712,10 @@ class FinanceController extends ThinkController $gameWhere = []; $testStrWhere = '1=1'; if ($game_ids) { - // $map['s.game_id'] = ['in', $game_ids]; $gameWhere['id'] = ['in', $game_ids]; } if (!empty(I('partner_id'))) { - // $map['g.partner_id'] = I('partner_id'); $gameWhere['partner_id'] = I('partner_id'); } @@ -737,14 +735,18 @@ class FinanceController extends ThinkController } if (!empty(I('game_type_id'))) { - // $map['g.game_type_id'] = I('game_type_id'); $gameWhere['game_type_id'] = I('game_type_id', 0); } $searchGameIds = M('game', 'tab_')->where($gameWhere)->getField('id', true); $startTime = time(); //游戏统计列表 - $data = D("spend")->gameStatistics($map,$searchGameIds, $row, $p); + if(isset($_REQUEST['export'])){ + $data = D("spend")->gameStatistics($map,$searchGameIds, 0, 0); + }else{ + $data = D("spend")->gameStatistics($map,$searchGameIds, $row, $p); + } + $gameIds = array_column($data, 'game_id'); $uniqueCodes = array_column($data, 'unique_code'); $uniqueCodes = array_filter($uniqueCodes, function($value) { @@ -843,6 +845,30 @@ class FinanceController extends ThinkController $data[$key]['test_amount'] = $testAmount; } + if(isset($_REQUEST['export'])){ + //操作日志 + $GetData = $_GET; + unset($GetData['export']); + $dcop = array( + 'partner_name'=>'合作公司', + 'game_name'=>'游戏', + 'sdk_version'=>'设备类型', + 'game_type_name'=>'游戏类型', + 'cash_count'=>'游戏现金金额', + 'balance_coin_count'=>'平台币直充支出', + 'inside_cash_count'=>'内充支出', + 'all_cash_count'=>'游戏内充值合计', + 'notice_fail_count'=>'联运通知失败合计', + 'agg_wm_amount'=>'聚合万盟数据', + 'agg_wm_failed_amount'=>'聚合万盟通知失败', + 'test_amount'=>'聚合平台测试订单', + 'agg_amount'=>'聚合其他渠道数据', + 'agg_failed_amount'=>'聚合其他渠道通知失败订单' + ); + addOperationLog(['op_type'=>3,'key'=>getNowDate(),'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME,$GetData),'menu'=>"充值-财务管理-游戏统计-导出"]); + data2csv($data,"游戏统计",$dcop); + } + $count = count($searchGameIds);//列表总数 // $allData = D("spend")->gameStatistics($map);//列表总数 // $count = count($allData); @@ -1045,9 +1071,9 @@ class FinanceController extends ThinkController $order = "payed_time DESC"; if(isset($_REQUEST['export'])){ - $data = D('spend')->getSpendData($map,$field,$group,$order,0,0); + $data = D('spend')->getSubSpendData($map,$field,$group,$order,0,0); }else{ - $data = D('spend')->getSpendData($map,$field,$group,$order,$page,$row); + $data = D('spend')->getSubSpendData($map,$field,$group,$order,$page,$row); } $merchant_data = M("payment_merchant","tab_") @@ -1116,7 +1142,7 @@ class FinanceController extends ThinkController $this->assign('sumInside', $sumInside); $this->assign('sumAll', null_to_0($sumAll)); - $count = D("spend")->getSpendData($map,'count(*) as count',$group,$order); + $count = D("spend")->getSubSpendData($map,'count(*) as count',$group,$order); $this->checkListOrCountAuthRestMap($map,[]); $count = $count[0]['count']; diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index e6fffad4e..4ef667a17 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -816,12 +816,27 @@ class SpendModel extends Model return $data; } + /** + * 获取多站点查询 + */ + public function getSubSpendData($map = [], $field = '', $group = '', $order = '', $page = 0, $row = 0) + { + $query = $this->field($field)->where($map)->group($group)->order($order); + if ($row == 0) { + $data = $query->select(); + } else { + $data = $query->page($page, $row)->select(); + } + return $data; + } + + /** * 获取统计 $map,$page,$row */ public function getSpendData($map = [], $field = '', $group = '', $order = '', $page = 0, $row = 0, $join = false) { - $query = $this->field($field)->where($map)->group($group)->order($order); + $query = M('spend',"tab_")->field($field)->where($map)->group($group)->order($order); if ($join) { $query = $query->join($join); } @@ -892,10 +907,10 @@ class SpendModel extends Model SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as inside_cash_count, SUM(CASE WHEN s.pay_status = 1 and pay_game_status = 0 THEN pay_amount ELSE 0 END) as notice_fail_count"); $base = [ - 'cash_count' => 0, - 'balance_coin_count' => 0, - 'inside_cash_count' => 0, - 'notice_fail_count' => 0 + 'cash_count' => "0.00", + 'balance_coin_count' => "0.00", + 'inside_cash_count' => "0.00", + 'notice_fail_count' => "0.00" ]; $records = []; foreach ($games as $game) { @@ -918,7 +933,10 @@ class SpendModel extends Model */ public function totalGameStatistics($map,$gameIds, $join = true) { - $map['s.game_id'] = ['in', $gameIds]; + if($gameIds){ + $map['s.game_id'] = ['in', $gameIds]; + } + $data = SM("Spend","tab_") ->alias('s') ->index('game_time') From c5bc21cb36de2de345b9e7c7d2cd0a81409bc835 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 23 Dec 2020 20:14:04 +0800 Subject: [PATCH 15/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/ExportController.class.php | 406 +++++++++--------- .../Admin/View/Finance/gameStatistics.html | 12 +- 2 files changed, 204 insertions(+), 214 deletions(-) diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 131d99eca..1258e596f 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -8352,212 +8352,212 @@ class ExportController extends Controller /** *充值-》财务管理-》游戏统计-》导出 */ - public function exportGameStatistics() { - $month = I("count_date"); - $xlsName = $month . '游戏统计导出'; - - $xlsCell = array( - array('game_name','游戏'), - array('sdk_version','设备类型'), - array('game_type_name','游戏类型'), - array('partner_name','合作公司'), - array('cash_count','游戏现金金额'), - array('balance_coin_count','平台币直充支出'), - array('inside_cash_count','内充支出'), - array('all_cash_count','游戏内充值合计'), - array('notice_fail_count','联运通知失败合计'), - array('agg_wm_amount','聚合万盟数据'), - array('agg_wm_failed_amount','聚合万盟通知失败'), - array('test_amount','聚合平台测试订单'), - array('agg_amount','聚合其他渠道数据'), - array('agg_failed_amount','聚合其他渠道通知失败订单'), - ); - - $map = []; - - $searchGameIds = null; - $game_ids = array_column(getGameByName(I("game_name"), I("sdk_type")), 'id'); - $gameWhere = []; - $testStrWhere = '1=1'; - if ($game_ids) { - $map['s.game_id'] = ['in', $game_ids]; - $gameWhere['id'] = ['in', $game_ids]; - } - - - if (!empty(I('partner_id'))) { - $map['g.partner_id'] = I('partner_id'); - $gameWhere['partner_id'] = I('partner_id'); - } - - if (!empty(I('timestart'))) { - $timestart = strtotime(I('timestart')); - $map['_string'] = "s.payed_time >= {$timestart}"; - $testStrWhere .= " and pay_time >= {$timestart}"; - } - - if (!empty(I('timeend'))) { - $timeend = strtotime(I('timeend') . ' 23:59:59'); - if (!empty($map['_string'])) { - $map['_string'] .= " and "; - } - $map['_string'] .= " s.pay_time <= {$timeend}"; - $testStrWhere .= " and pay_time <= {$timeend}"; - } - - if (!empty(I('game_type_id'))) { - $map['g.game_type_id'] = I('game_type_id'); - $gameWhere['game_type_id'] = I('game_type_id', 0); - } + // public function exportGameStatistics() { + // $month = I("count_date"); + // $xlsName = $month . '游戏统计导出'; + + // $xlsCell = array( + // array('game_name','游戏'), + // array('sdk_version','设备类型'), + // array('game_type_name','游戏类型'), + // array('partner_name','合作公司'), + // array('cash_count','游戏现金金额'), + // array('balance_coin_count','平台币直充支出'), + // array('inside_cash_count','内充支出'), + // array('all_cash_count','游戏内充值合计'), + // array('notice_fail_count','联运通知失败合计'), + // array('agg_wm_amount','聚合万盟数据'), + // array('agg_wm_failed_amount','聚合万盟通知失败'), + // array('test_amount','聚合平台测试订单'), + // array('agg_amount','聚合其他渠道数据'), + // array('agg_failed_amount','聚合其他渠道通知失败订单'), + // ); + + // $map = []; + + // $searchGameIds = null; + // $game_ids = array_column(getGameByName(I("game_name"), I("sdk_type")), 'id'); + // $gameWhere = []; + // $testStrWhere = '1=1'; + // if ($game_ids) { + // $map['s.game_id'] = ['in', $game_ids]; + // $gameWhere['id'] = ['in', $game_ids]; + // } + + + // if (!empty(I('partner_id'))) { + // $map['g.partner_id'] = I('partner_id'); + // $gameWhere['partner_id'] = I('partner_id'); + // } + + // if (!empty(I('timestart'))) { + // $timestart = strtotime(I('timestart')); + // $map['_string'] = "s.payed_time >= {$timestart}"; + // $testStrWhere .= " and pay_time >= {$timestart}"; + // } + + // if (!empty(I('timeend'))) { + // $timeend = strtotime(I('timeend') . ' 23:59:59'); + // if (!empty($map['_string'])) { + // $map['_string'] .= " and "; + // } + // $map['_string'] .= " s.pay_time <= {$timeend}"; + // $testStrWhere .= " and pay_time <= {$timeend}"; + // } + + // if (!empty(I('game_type_id'))) { + // $map['g.game_type_id'] = I('game_type_id'); + // $gameWhere['game_type_id'] = I('game_type_id', 0); + // } - $searchGameIds = M('game', 'tab_')->where($gameWhere)->getField('id', true); - - $xlsData = D("spend")->gameStatistics($map); - - $uniqueCodes = array_column($xlsData, 'unique_code'); - $gameIds = array_column($xlsData, 'game_id'); - $uniqueCodes = array_filter($uniqueCodes, function($value) { - if ($value) { - return true; - } - return false; - }); + // $searchGameIds = M('game', 'tab_')->where($gameWhere)->getField('id', true); + + // $xlsData = D("spend")->gameStatistics($map); + + // $uniqueCodes = array_column($xlsData, 'unique_code'); + // $gameIds = array_column($xlsData, 'game_id'); + // $uniqueCodes = array_filter($uniqueCodes, function($value) { + // if ($value) { + // return true; + // } + // return false; + // }); - $gameSets = M('game_set', 'tab_')->field(['game_id', 'pay_notify_url'])->select(); - $gameSets = index_by_column('game_id', $gameSets); - - $searchGameCodes = []; - $testList = []; - $testWhere = [ - 'game_id' => 0, - '_string' => $testStrWhere, - ]; - if (count($searchGameIds) > 0) { - $searchGameCodes = M('game', 'tab_')->where(['id' => ['in', $searchGameIds], 'unique_code' => ['neq', '']])->getField('unique_code', true); - $searchGameCodes = array_unique($searchGameCodes); - $testWhere['game_id'] = ['in', $searchGameIds]; - - $testRows = M('test_order', 'tab_') - ->field(['game_id', 'sum(pay_amount) amount']) - ->where($testWhere) - ->group('game_id') - ->select(); - foreach ($testRows as $testRow) { - $testList[$testRow['game_id']] = round(floatval($testRow['amount']), 2); - } - } + // $gameSets = M('game_set', 'tab_')->field(['game_id', 'pay_notify_url'])->select(); + // $gameSets = index_by_column('game_id', $gameSets); + + // $searchGameCodes = []; + // $testList = []; + // $testWhere = [ + // 'game_id' => 0, + // '_string' => $testStrWhere, + // ]; + // if (count($searchGameIds) > 0) { + // $searchGameCodes = M('game', 'tab_')->where(['id' => ['in', $searchGameIds], 'unique_code' => ['neq', '']])->getField('unique_code', true); + // $searchGameCodes = array_unique($searchGameCodes); + // $testWhere['game_id'] = ['in', $searchGameIds]; + + // $testRows = M('test_order', 'tab_') + // ->field(['game_id', 'sum(pay_amount) amount']) + // ->where($testWhere) + // ->group('game_id') + // ->select(); + // foreach ($testRows as $testRow) { + // $testList[$testRow['game_id']] = round(floatval($testRow['amount']), 2); + // } + // } - $client = new AggregateClient(); - $result = $client->api('game-data', [ - 'unique_codes' => $uniqueCodes, - 'started_at' => I('timestart', ''), - 'ended_at' => I('timeend', ''), - 'search_games' => $searchGameCodes, - 'device_type' => I("sdk_type", 0), - ]); - - $aggData = []; - $aggWmData = []; - $aggFailData = []; - $aggWmFailData = []; - $aggTotal = '0.00'; - $aggWmTotal = '0.00'; - $aggFailTotal = '0.00'; - $aggWmFailTotal = '0.00'; - if ($result['code'] == '0000') { - $aggData = $result['data']['records'] ?? []; - $aggWmData = $result['data']['wm_records'] ?? []; - $aggFailData = $result['data']['fail_records'] ?? []; - $aggWmFailData = $result['data']['wm_fail_records'] ?? []; - $aggTotal = $result['data']['total'] ?? '0.00'; - $aggWmTotal = $result['data']['wm_total'] ?? '0.00'; - $aggFailTotal = $result['data']['fail_total'] ?? '0.00'; - $aggWmFailTotal = $result['data']['wm_fail_total'] ?? '0.00'; - } - - $exceptIds = getAggExceptIds($gameSets); - - foreach ($xlsData as $key => $value) { - $aggAmount = '0.00'; - $aggWmAmount = '0.00'; - $aggFailAmount = '0.00'; - $aggWmFailAmount = '0.00'; - $testAmount = '0.00'; - $deviceType = $value['sdk_version'] == 1 ? 'android' : 'ios'; - if ($value['unique_code']) { - if (isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) { - $aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', ''); - } - if (isset($aggWmData[$value['unique_code']]) && isset($aggWmData[$value['unique_code']][$deviceType])) { - $aggWmAmount = number_format($aggWmData[$value['unique_code']][$deviceType], 2, '.', ''); - } - if (isset($aggFailData[$value['unique_code']]) && isset($aggFailData[$value['unique_code']][$deviceType])) { - $aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', ''); - } - if (isset($aggWmFailData[$value['unique_code']]) && isset($aggWmFailData[$value['unique_code']][$deviceType])) { - $aggWmFailAmount = number_format($aggWmFailData[$value['unique_code']][$deviceType], 2, '.', ''); - } - - } - $xlsData[$key]['agg_amount'] = $aggAmount; - $xlsData[$key]['agg_wm_amount'] = $aggWmAmount; - $xlsData[$key]['agg_failed_amount'] = $aggFailAmount; - $xlsData[$key]['agg_wm_failed_amount'] = $aggWmFailAmount; - if (isset($gameSets[$value['game_id']]) && isAggGame($gameSets[$value['game_id']]['pay_notify_url'])) { - $xlsData[$key]['cash_count'] = $value['cash_count'] = 0; - $xlsData[$key]['balance_coin_count'] = $value['balance_coin_count'] = 0; - $xlsData[$key]['inside_cash_count'] = $value['inside_cash_count'] = 0; - $testAmount = $testList[$value['game_id']] ?? '0.00'; - } - - $xlsData[$key]['test_amount'] = $testAmount; - // $xlsData[$key]['game_name'] = substr($value["game_name"],0,strrpos($value["game_name"],'(')); - $xlsData[$key]['all_cash_count'] = $value['cash_count'] + $value['balance_coin_count'] + $value['inside_cash_count']; - if ($value['sdk_version'] == 1) { - $xlsData[$key]['sdk_version'] = '安卓'; - } else if ($value['sdk_version'] == 2) { - $xlsData[$key]['sdk_version'] = '苹果'; - } - } - - if (count($exceptIds) > 0) { - if (isset($map['_string'])) { - $map['_string'] .= " and s.game_id not in (" . implode(',', $exceptIds) . ")"; - } else { - $map['_string'] = " s.game_id not in (" . implode(',', $exceptIds) . ")"; - } - } - - $testWhere['_string'] .= ' and game_id in(' . implode(',', $exceptIds) . ')'; - - $testAllAmount = M('test_order', 'tab_')->where($testWhere)->sum('pay_amount'); - - $totalData = D("spend")->totalGameStatistics($map); - - $sumCash = $totalData['cash_count']; - $sumBalance = $totalData['balance_coin_count']; - $sumInside = $totalData['inside_cash_count']; - $sumNoticeFail = $totalData['notice_fail_count']? $totalData['notice_fail_count']:0; - $sumAll = $sumCash + $sumBalance + $sumInside; - $sumData = [ - [ - 'game_name'=>'总计', - 'cash_count'=>$sumCash, - 'balance_coin_count'=>$sumBalance, - 'inside_cash_count'=>$sumInside, - 'all_cash_count'=>$sumAll, - 'notice_fail_count'=>$sumNoticeFail, - 'agg_wm_amount' => $aggWmTotal, - 'agg_wm_failed_amount' => $aggWmFailTotal, - 'test_amount' => round(floatval($testAllAmount), 2), - 'agg_amount' => $aggTotal, - 'agg_failed_amount' => $aggFailTotal, - ] - ]; - $xlsData = array_merge($xlsData,$sumData); - $this->exportAddOperationLog("Finance/gameStatistics","充值-财务管理-游戏统计-导出"); - $this->exportExcel($xlsName, $xlsCell, $xlsData); - } + // $client = new AggregateClient(); + // $result = $client->api('game-data', [ + // 'unique_codes' => $uniqueCodes, + // 'started_at' => I('timestart', ''), + // 'ended_at' => I('timeend', ''), + // 'search_games' => $searchGameCodes, + // 'device_type' => I("sdk_type", 0), + // ]); + + // $aggData = []; + // $aggWmData = []; + // $aggFailData = []; + // $aggWmFailData = []; + // $aggTotal = '0.00'; + // $aggWmTotal = '0.00'; + // $aggFailTotal = '0.00'; + // $aggWmFailTotal = '0.00'; + // if ($result['code'] == '0000') { + // $aggData = $result['data']['records'] ?? []; + // $aggWmData = $result['data']['wm_records'] ?? []; + // $aggFailData = $result['data']['fail_records'] ?? []; + // $aggWmFailData = $result['data']['wm_fail_records'] ?? []; + // $aggTotal = $result['data']['total'] ?? '0.00'; + // $aggWmTotal = $result['data']['wm_total'] ?? '0.00'; + // $aggFailTotal = $result['data']['fail_total'] ?? '0.00'; + // $aggWmFailTotal = $result['data']['wm_fail_total'] ?? '0.00'; + // } + + // $exceptIds = getAggExceptIds($gameSets); + + // foreach ($xlsData as $key => $value) { + // $aggAmount = '0.00'; + // $aggWmAmount = '0.00'; + // $aggFailAmount = '0.00'; + // $aggWmFailAmount = '0.00'; + // $testAmount = '0.00'; + // $deviceType = $value['sdk_version'] == 1 ? 'android' : 'ios'; + // if ($value['unique_code']) { + // if (isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) { + // $aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', ''); + // } + // if (isset($aggWmData[$value['unique_code']]) && isset($aggWmData[$value['unique_code']][$deviceType])) { + // $aggWmAmount = number_format($aggWmData[$value['unique_code']][$deviceType], 2, '.', ''); + // } + // if (isset($aggFailData[$value['unique_code']]) && isset($aggFailData[$value['unique_code']][$deviceType])) { + // $aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', ''); + // } + // if (isset($aggWmFailData[$value['unique_code']]) && isset($aggWmFailData[$value['unique_code']][$deviceType])) { + // $aggWmFailAmount = number_format($aggWmFailData[$value['unique_code']][$deviceType], 2, '.', ''); + // } + + // } + // $xlsData[$key]['agg_amount'] = $aggAmount; + // $xlsData[$key]['agg_wm_amount'] = $aggWmAmount; + // $xlsData[$key]['agg_failed_amount'] = $aggFailAmount; + // $xlsData[$key]['agg_wm_failed_amount'] = $aggWmFailAmount; + // if (isset($gameSets[$value['game_id']]) && isAggGame($gameSets[$value['game_id']]['pay_notify_url'])) { + // $xlsData[$key]['cash_count'] = $value['cash_count'] = 0; + // $xlsData[$key]['balance_coin_count'] = $value['balance_coin_count'] = 0; + // $xlsData[$key]['inside_cash_count'] = $value['inside_cash_count'] = 0; + // $testAmount = $testList[$value['game_id']] ?? '0.00'; + // } + + // $xlsData[$key]['test_amount'] = $testAmount; + // // $xlsData[$key]['game_name'] = substr($value["game_name"],0,strrpos($value["game_name"],'(')); + // $xlsData[$key]['all_cash_count'] = $value['cash_count'] + $value['balance_coin_count'] + $value['inside_cash_count']; + // if ($value['sdk_version'] == 1) { + // $xlsData[$key]['sdk_version'] = '安卓'; + // } else if ($value['sdk_version'] == 2) { + // $xlsData[$key]['sdk_version'] = '苹果'; + // } + // } + + // if (count($exceptIds) > 0) { + // if (isset($map['_string'])) { + // $map['_string'] .= " and s.game_id not in (" . implode(',', $exceptIds) . ")"; + // } else { + // $map['_string'] = " s.game_id not in (" . implode(',', $exceptIds) . ")"; + // } + // } + + // $testWhere['_string'] .= ' and game_id in(' . implode(',', $exceptIds) . ')'; + + // $testAllAmount = M('test_order', 'tab_')->where($testWhere)->sum('pay_amount'); + + // $totalData = D("spend")->totalGameStatistics($map); + + // $sumCash = $totalData['cash_count']; + // $sumBalance = $totalData['balance_coin_count']; + // $sumInside = $totalData['inside_cash_count']; + // $sumNoticeFail = $totalData['notice_fail_count']? $totalData['notice_fail_count']:0; + // $sumAll = $sumCash + $sumBalance + $sumInside; + // $sumData = [ + // [ + // 'game_name'=>'总计', + // 'cash_count'=>$sumCash, + // 'balance_coin_count'=>$sumBalance, + // 'inside_cash_count'=>$sumInside, + // 'all_cash_count'=>$sumAll, + // 'notice_fail_count'=>$sumNoticeFail, + // 'agg_wm_amount' => $aggWmTotal, + // 'agg_wm_failed_amount' => $aggWmFailTotal, + // 'test_amount' => round(floatval($testAllAmount), 2), + // 'agg_amount' => $aggTotal, + // 'agg_failed_amount' => $aggFailTotal, + // ] + // ]; + // $xlsData = array_merge($xlsData,$sumData); + // $this->exportAddOperationLog("Finance/gameStatistics","充值-财务管理-游戏统计-导出"); + // $this->exportExcel($xlsName, $xlsCell, $xlsData); + // } // public function gameStatisticsDetail() { // $game_name = I("game_name"); diff --git a/Application/Admin/View/Finance/gameStatistics.html b/Application/Admin/View/Finance/gameStatistics.html index 8be9c3d0b..5092737af 100644 --- a/Application/Admin/View/Finance/gameStatistics.html +++ b/Application/Admin/View/Finance/gameStatistics.html @@ -154,17 +154,7 @@ style="width: 100px;border: #3C95C8 solid 1px;">搜索 - 导出 + 导出 From 5f0d0a71013d75dac155f3ee9dbf1d6b0f9b9a49 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 23 Dec 2020 20:19:54 +0800 Subject: [PATCH 16/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Controller/FinanceController.class.php | 1 + Application/Admin/View/Finance/gameStatistics.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 91c54410c..a8a6f1611 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -843,6 +843,7 @@ class FinanceController extends ThinkController $data[$key]['agg_failed_amount'] = $aggFailAmount; $data[$key]['agg_wm_failed_amount'] = $aggWmFailAmount; $data[$key]['test_amount'] = $testAmount; + $data[$key]['sdk_version'] = $value['sdk_version'] == 1 ? "安卓" : "苹果"; } if(isset($_REQUEST['export'])){ diff --git a/Application/Admin/View/Finance/gameStatistics.html b/Application/Admin/View/Finance/gameStatistics.html index 5092737af..87d8d047c 100644 --- a/Application/Admin/View/Finance/gameStatistics.html +++ b/Application/Admin/View/Finance/gameStatistics.html @@ -212,7 +212,7 @@
{$data.partner_name} {$data.game_name}安卓苹果{$data.sdk_version} {$data.game_type_name} {$data.cash_count}0 Date: Thu, 24 Dec 2020 19:26:45 +0800 Subject: [PATCH 17/40] =?UTF-8?q?=E5=84=AA=E5=8C=96=E5=85=AC=E6=9C=83?= =?UTF-8?q?=E7=B5=B1=E8=A8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/FinancePromoteController.class.php | 14 ++++++++++++-- jbc.php | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php index b38e6f4c0..e628d5e59 100644 --- a/Application/Admin/Controller/FinancePromoteController.class.php +++ b/Application/Admin/Controller/FinancePromoteController.class.php @@ -283,6 +283,9 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=1; + if(IS_SUBSITE){ + $map['s.partner_type']=PARTNER_TYPE; + } $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, @@ -513,6 +516,9 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=1; + if(IS_SUBSITE){ + $map['s.partner_type']=PARTNER_TYPE; + } // dd($map); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, @@ -602,7 +608,9 @@ class FinancePromoteController extends AdminController $map['promote.admin_id'] = ['gt', 0]; $map['s.market_admin_id'] = ['gt', 0]; } - + if(IS_SUBSITE){ + $map['s.partner_type']=PARTNER_TYPE; + } //获取推广员 $title = ''; self::setPromoteMap($map,"s.promote_id",$title,false); @@ -738,7 +746,9 @@ class FinancePromoteController extends AdminController if ($adminId > 0) { $map['market_admin_id'] = $adminId; } - + if(IS_SUBSITE){ + $map['partner_type']=PARTNER_TYPE; + } /* if (!empty(I('develop_type'))) { $map['company.develop_type'] = I('develop_type'); } diff --git a/jbc.php b/jbc.php index 77a428be7..a9d560325 100644 --- a/jbc.php +++ b/jbc.php @@ -37,6 +37,7 @@ define ( 'RUNTIME_PATH', './Runtime/' ); $JBC_DB_CONFIG = include_once APP_PATH."/Common/Conf/env.php"; $JBC_DB_CONFIG = $JBC_DB_CONFIG['SUBSITE_DB_CONFIG']['JBC_DB_CONFIG']; define ( 'IS_SUBSITE', true); +define ( 'PARTNER_TYPE', 2); define ( 'SUBSITE_NAME', "jbc"); define ( 'SUBSITE_DB', $JBC_DB_CONFIG ); define ( 'SUBSITE_INDEX', "jbc.php" );//子站点路口,影响session From 45d883e89cca785f0112872276c1c2162ce16461 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 25 Dec 2020 10:05:57 +0800 Subject: [PATCH 18/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=A0=E9=81=93?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 8 ++++---- .../Admin/Controller/FinanceController.class.php | 6 +++--- .../Controller/PayChannelController.class.php | 16 +++++++++++----- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index 4d32052fe..caa94cfc7 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1058,18 +1058,18 @@ function showNumPercent($num) } //优化子站点实例化方法 -function SM($name='', $tablePrefix='tab_') +function SM($name='', $tablePrefix='tab_',$is_subsiteTable=false) { $tableName = strtolower($tablePrefix.unCamelize($name)); - if(is_subsiteTable($tableName)){ + if(is_subsiteTable($tableName) || $is_subsiteTable){ return M($name, $tablePrefix,SUBSITE_DB); } return M($name, $tablePrefix); } //判断是否有子站点表格 -function is_subsiteTable($tableName) +function is_subsiteTable($tableName,$is_subsiteTable=false) { - if(IS_SUBSITE && in_array($tableName,C('SUBSITE_TABLE'))){ + if(IS_SUBSITE && ($is_subsiteTable || in_array($tableName,C('SUBSITE_TABLE')))){ return true; } return false; diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index a8a6f1611..946e73514 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -1333,7 +1333,7 @@ class FinanceController extends ThinkController // setPowerPromoteIds($map); //获取现金充值 - $cashStatistics = M('spend', 'tab_') + $cashStatistics = SM('spend', 'tab_') ->field('pay_way,"" as pay_type,SUM(pay_amount) AS pay_amount') ->where(['pay_status' => 1,'pay_way'=>['egt',1],'payed_time'=>$time]) ->group('pay_way') @@ -1345,7 +1345,7 @@ class FinanceController extends ThinkController $cashStatistics = array_column($cashStatistics, null, 'pay_way'); // dd($cashStatistics); //获取平台币充值 - $deposit = M('deposit', 'tab_')->where([ + $deposit = SM('deposit', 'tab_')->where([ 'pay_source' => 2, 'tab_deposit.pay_status' => 1, 'tab_deposit.pay_way' => ['gt', 0], @@ -1436,7 +1436,7 @@ class FinanceController extends ThinkController $offcialmap['pay_way'] = array('egt',1); $offcialmap['pay_source'] = 0; - $offcialData = M('deposit','tab_') + $offcialData = SM('deposit','tab_') ->field("pay_way,'' as pay_type,sum(pay_amount) as pay_amount") ->where([ 'pay_status'=>1, diff --git a/Application/Admin/Controller/PayChannelController.class.php b/Application/Admin/Controller/PayChannelController.class.php index c5953740f..133335391 100644 --- a/Application/Admin/Controller/PayChannelController.class.php +++ b/Application/Admin/Controller/PayChannelController.class.php @@ -56,11 +56,15 @@ class PayChannelController extends ThinkController $map['pay_status'] = $coinMap['pay_status'] = 1; $map['pay_way'] = array('egt',1); + if(IS_SUBSITE){ + $map['partner_type']=PARTNER_TYPE; + $coinMap['tab_deposit.partner_type']=PARTNER_TYPE; + } // setPowerPromoteIds($map,'promote_id'); //游戏币计算 - $data = M('spend use index(pay_channel)','tab_') + $data = SM('spend use index(pay_channel)','tab_',true) ->field("game_name,sum(pay_amount) as pay_amount,game_id,sdk_version") ->where($map) ->group('game_id') @@ -79,7 +83,6 @@ class PayChannelController extends ThinkController ->where($coinMap) ->group("game_id") ->select(); - // unset($coinMap['game_id']); //平台币充值 $coinSum = M('deposit','tab_') @@ -94,12 +97,13 @@ class PayChannelController extends ThinkController foreach($coinData as $key => $value) { $handleCoinData[$value['game_id']] = $value['platform_coin']; } - + //测试白名单 + $testList = implode(",",M("test_white_list","tab_")->getField("user_id",true)); //测试数据汇总计算 - $testData = M('spend','tab_') + $testData = SM('spend','tab_') ->field("sum(pay_amount) as test_coin,game_name,game_id") - ->join("inner join tab_test_white_list on tab_spend.user_id=tab_test_white_list.user_id") ->where($map) + ->where("user_id in ({$testList})") ->group('game_id') ->select(); @@ -131,6 +135,7 @@ class PayChannelController extends ThinkController $data[$key]['sdk_version'] =getGameTypeName($data[$key]['sdk_version']); } $superMap = $map; + if(isset($superMap['partner_type'])) unset($superMap['partner_type']); unset($superMap['payed_time']); $superMap['pay_time'] = $map['payed_time']; // unset($superMap['promote_id']); @@ -446,6 +451,7 @@ class PayChannelController extends ThinkController ->select(false); $superMap = $map; + if(isset($superMap['partner_type'])) unset($superMap['partner_type']); if ($map['payed_time']){ $superMap['pay_time'] = $map['payed_time']; unset($superMap['payed_time']); From 4fdb94c617ab6dc7d09665d7717d253df1cd0f25 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 25 Dec 2020 14:33:47 +0800 Subject: [PATCH 19/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/SpendController.class.php | 4 +++- Application/Admin/Model/SpendModel.class.php | 23 +++++++++++++------ jbc.php => wm.php | 6 ++--- 3 files changed, 22 insertions(+), 11 deletions(-) rename jbc.php => wm.php (82%) diff --git a/Application/Admin/Controller/SpendController.class.php b/Application/Admin/Controller/SpendController.class.php index 21cc11748..90934283f 100644 --- a/Application/Admin/Controller/SpendController.class.php +++ b/Application/Admin/Controller/SpendController.class.php @@ -131,9 +131,11 @@ class SpendController extends ThinkController // $map1 = $map; // } $this->checkListOrCountAuthRestMap($map,["extend", "pay_order_number", "user_account"]); + D("Spend")->addSubsiteWhere($map); + $map1 = $map; $map1['pay_status'] = 1; - $total = null_to_0(SM(self::model_name)->where($map1)->sum('pay_amount')); + $total = null_to_0(M(self::model_name,"tab_")->where($map1)->sum('pay_amount')); $this->assign('total', $total); $this->meta_title = $this->m_title = '游戏充值'; $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Spend/lists', 'status' => 1])->find()); diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 4ef667a17..619a5adb5 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -51,11 +51,6 @@ class SpendModel extends Model { /* 设置默认的表前缀 */ $this->tablePrefix = 'tab_'; - if(is_subsiteTable("tab_spend")){ - //修改连接 - $this->connection = SUBSITE_DB; - $connection = SUBSITE_DB; - } /* 执行构造方法 */ parent::__construct($name, $tablePrefix, $connection); } @@ -71,6 +66,20 @@ class SpendModel extends Model $create_time = I('post.create_time'); return $create_time ? strtotime($create_time) : NOW_TIME; } + /** + * 添加子站点条件 + * @param [arrary] $map + * @param string $alias spend数据库别名 + * @return void + */ + public function addSubsiteWhere(&$map,$alias='') + { + $field = "partner_type"; + !empty($alias) && $field = $alias.".".$field; + if(IS_SUBSITE){ + $map[$field] = PARTNER_TYPE; + } + } public function amdin_account() { @@ -895,7 +904,7 @@ class SpendModel extends Model }else{ $map['s.game_id'] = '-1'; } - $data = SM("Spend","tab_") + $data = M("Spend","tab_") ->alias('s') ->index('game_time') ->where(['s.pay_status' => 1]) @@ -937,7 +946,7 @@ class SpendModel extends Model $map['s.game_id'] = ['in', $gameIds]; } - $data = SM("Spend","tab_") + $data = M("Spend","tab_") ->alias('s') ->index('game_time') ->field(" diff --git a/jbc.php b/wm.php similarity index 82% rename from jbc.php rename to wm.php index a9d560325..ab8dd2e59 100644 --- a/jbc.php +++ b/wm.php @@ -35,12 +35,12 @@ define ( 'RUNTIME_PATH', './Runtime/' ); * 项目配置 */ $JBC_DB_CONFIG = include_once APP_PATH."/Common/Conf/env.php"; -$JBC_DB_CONFIG = $JBC_DB_CONFIG['SUBSITE_DB_CONFIG']['JBC_DB_CONFIG']; +$JBC_DB_CONFIG = $JBC_DB_CONFIG['SUBSITE_DB_CONFIG']['WM_DB_CONFIG']; define ( 'IS_SUBSITE', true); define ( 'PARTNER_TYPE', 2); -define ( 'SUBSITE_NAME', "jbc"); +define ( 'SUBSITE_NAME', "wm"); define ( 'SUBSITE_DB', $JBC_DB_CONFIG ); -define ( 'SUBSITE_INDEX', "jbc.php" );//子站点路口,影响session +define ( 'SUBSITE_INDEX', "wm.php" );//子站点路口,影响session /** * 引入核心入口 From fa9dc518d58742d6abda67936446655faa9e4eb8 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 25 Dec 2020 14:51:20 +0800 Subject: [PATCH 20/40] =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 1 - Application/Admin/Controller/ExportController.class.php | 7 ++++--- .../Admin/Controller/RechargeSumController.class.php | 5 +++-- wm.php | 5 ++++- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index 21dfe2b40..dba99dbaa 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -116,7 +116,6 @@ return array( 'OFFICIEL_CHANNEL'=>"江息网络", /*分库的表格*/ 'SUBSITE_TABLE'=>[ - "tab_spend", "sys_auth_group", "tab_index_chart", "tab_deposit", diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 1258e596f..b7d925114 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -1198,9 +1198,10 @@ class ExportController extends Controller // $map = '1 = 2'; // $map1 = $map; // } + D("Spend")->addSubsiteWhere($map); $map1 = $map; $map1['pay_status'] = 1; - $total = SM('Spend','tab_')->where($map1)->sum('pay_amount'); + $total = M('Spend','tab_')->where($map1)->sum('pay_amount'); // var_dump($total);die(); $total=$total?$total:0; @@ -1276,7 +1277,7 @@ class ExportController extends Controller mb_convert_variables('GBK', 'UTF-8', $xlsCell); fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中 - $accessNum = SM('Spend') + $accessNum = M('Spend',"tab_") ->where($map) ->count(); @@ -1285,7 +1286,7 @@ class ExportController extends Controller // var_dump($count);die(); for($i = 1; $i <= $pages; $i++) { - $xlsData = SM('Spend') + $xlsData = M('Spend',"tab_") ->field($fields) ->where($map) ->limit(($i-1)*$perSize ,$perSize) diff --git a/Application/Admin/Controller/RechargeSumController.class.php b/Application/Admin/Controller/RechargeSumController.class.php index 595322480..9ab46a840 100644 --- a/Application/Admin/Controller/RechargeSumController.class.php +++ b/Application/Admin/Controller/RechargeSumController.class.php @@ -80,11 +80,12 @@ class RechargeSumController extends ThinkController } $map['pay_status'] = 1; - $newAddPay = SM('spend',"tab_")->where(array_merge($map, array('_string' => '( small_id = 0 or small_id = user_id)')))->sum('pay_amount'); + D("Spend")->addSubsiteWhere($map); + $newAddPay = M('spend',"tab_")->where(array_merge($map, array('_string' => '( small_id = 0 or small_id = user_id)')))->sum('pay_amount'); //当天累计付费 unset($map['user_id']); - $accumulated = SM('spend',"tab_")->where($map)->sum('pay_amount'); + $accumulated = M('spend',"tab_")->where($map)->sum('pay_amount'); $data[$key]['date'] = date('Y-m-d', $start); $data[$key]['game_id'] = empty($_REQUEST['game_name']) ? "全部" : $_REQUEST['game_name']; diff --git a/wm.php b/wm.php index ab8dd2e59..d5ecedd70 100644 --- a/wm.php +++ b/wm.php @@ -35,9 +35,12 @@ define ( 'RUNTIME_PATH', './Runtime/' ); * 项目配置 */ $JBC_DB_CONFIG = include_once APP_PATH."/Common/Conf/env.php"; +if(!isset($JBC_DB_CONFIG['SUBSITE_DB_CONFIG']['WM_DB_CONFIG'])){ + die("请先配置子站点连接参数"); +} $JBC_DB_CONFIG = $JBC_DB_CONFIG['SUBSITE_DB_CONFIG']['WM_DB_CONFIG']; define ( 'IS_SUBSITE', true); -define ( 'PARTNER_TYPE', 2); +define ( 'PARTNER_TYPE', 1); define ( 'SUBSITE_NAME', "wm"); define ( 'SUBSITE_DB', $JBC_DB_CONFIG ); define ( 'SUBSITE_INDEX', "wm.php" );//子站点路口,影响session From c0926299dc072be8926a6d3bb7704877b863f51f Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 25 Dec 2020 15:17:04 +0800 Subject: [PATCH 21/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E5=B8=81=E5=85=85=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/DepositController.class.php | 10 +++++++--- .../Controller/ExportController.class.php | 1 + .../Admin/Model/DepositModel.class.php | 20 +++++++++++++------ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Application/Admin/Controller/DepositController.class.php b/Application/Admin/Controller/DepositController.class.php index c2824467c..af749d832 100644 --- a/Application/Admin/Controller/DepositController.class.php +++ b/Application/Admin/Controller/DepositController.class.php @@ -89,7 +89,7 @@ class DepositController extends ThinkController { $sort = $data_order==3?'desc':'asc'; $map['order'] = $data_order_type.' '.$sort; } - + D(self::model_name)->addSubsiteWhere($map); $map1=$map; $map1['pay_status']=1; @@ -97,8 +97,12 @@ class DepositController extends ThinkController { $total=null_to_0(D(self::model_name)->where($map1)->sum('pay_amount')); - $ttotal=null_to_0(D(self::model_name)->where('payed_time'.total(1))->where(array('pay_status'=>1))->sum('pay_amount')); - $ytotal=null_to_0(D(self::model_name)->where('payed_time'.total(5))->where(array('pay_status'=>1))->sum('pay_amount')); + + $otherMap = ["pay_status"=>1]; + D(self::model_name)->addSubsiteWhere($otherMap); + + $ttotal=null_to_0(D(self::model_name)->where('payed_time'.total(1))->where($otherMap)->sum('pay_amount')); + $ytotal=null_to_0(D(self::model_name)->where('payed_time'.total(5))->where($otherMap)->sum('pay_amount')); $this->assign('total',$total); $this->assign('ttotal',$ttotal); $this->assign('ytotal',$ytotal); diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index b7d925114..cebf54414 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -1430,6 +1430,7 @@ class ExportController extends Controller $map['merchant_id'] = $_REQUEST['merchant_id']; unset($_REQUEST['merchant_id']); } + D('Deposit')->addSubsiteWhere($map); $map1 = $map; $map1['pay_status'] = 1; diff --git a/Application/Admin/Model/DepositModel.class.php b/Application/Admin/Model/DepositModel.class.php index 08a0a3209..741fbcbe5 100644 --- a/Application/Admin/Model/DepositModel.class.php +++ b/Application/Admin/Model/DepositModel.class.php @@ -36,11 +36,6 @@ class DepositModel extends Model { public function __construct($name = '', $tablePrefix = '', $connection = '') { /* 设置默认的表前缀 */ $this->tablePrefix ='tab_'; - if(is_subsiteTable("tab_spend")){ - //修改连接 - $this->connection = SUBSITE_DB; - $connection = SUBSITE_DB; - } /* 执行构造方法 */ parent::__construct($name, $tablePrefix, $connection); } @@ -56,7 +51,20 @@ class DepositModel extends Model { } - + /** + * 添加子站点条件 + * @param [arrary] $map + * @param string $alias spend数据库别名 + * @return void + */ + public function addSubsiteWhere(&$map,$alias='') + { + $field = "partner_type"; + !empty($alias) && $field = $alias.".".$field; + if(IS_SUBSITE){ + $map[$field] = PARTNER_TYPE; + } + } /* From 40005b717753e1091b714a7c4deedcc63e621396 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 25 Dec 2020 17:03:37 +0800 Subject: [PATCH 22/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/FinanceController.class.php | 9 ++++++--- Application/Admin/Model/SpendModel.class.php | 17 +---------------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 946e73514..e07849218 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -740,6 +740,7 @@ class FinanceController extends ThinkController $searchGameIds = M('game', 'tab_')->where($gameWhere)->getField('id', true); $startTime = time(); + D("spend")->addSubsiteWhere($map); //游戏统计列表 if(isset($_REQUEST['export'])){ $data = D("spend")->gameStatistics($map,$searchGameIds, 0, 0); @@ -1066,15 +1067,17 @@ class FinanceController extends ThinkController if (!empty(I('user_nickname'))) { $map['game_player_name'] = array('like',I("user_nickname").'%'); } + D("Spend")->addSubsiteWhere($map); + // var_dump($map);die(); $field = "pay_order_number,FROM_UNIXTIME(payed_time) as pay_time,user_account,user_nickname,game_name,promote_account,spend_ip,server_name,game_player_name,pay_amount,cost,pay_way,sdk_version,merchant_id"; $group = ""; $order = "payed_time DESC"; if(isset($_REQUEST['export'])){ - $data = D('spend')->getSubSpendData($map,$field,$group,$order,0,0); + $data = D('spend')->getSpendData($map,$field,$group,$order,0,0); }else{ - $data = D('spend')->getSubSpendData($map,$field,$group,$order,$page,$row); + $data = D('spend')->getSpendData($map,$field,$group,$order,$page,$row); } $merchant_data = M("payment_merchant","tab_") @@ -1143,7 +1146,7 @@ class FinanceController extends ThinkController $this->assign('sumInside', $sumInside); $this->assign('sumAll', null_to_0($sumAll)); - $count = D("spend")->getSubSpendData($map,'count(*) as count',$group,$order); + $count = D("spend")->getSpendData($map,'count(*) as count',$group,$order); $this->checkListOrCountAuthRestMap($map,[]); $count = $count[0]['count']; diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 619a5adb5..f5a605929 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -824,22 +824,7 @@ class SpendModel extends Model return $data; } - - /** - * 获取多站点查询 - */ - public function getSubSpendData($map = [], $field = '', $group = '', $order = '', $page = 0, $row = 0) - { - $query = $this->field($field)->where($map)->group($group)->order($order); - if ($row == 0) { - $data = $query->select(); - } else { - $data = $query->page($page, $row)->select(); - } - return $data; - } - - + /** * 获取统计 $map,$page,$row */ From 9ab8454970113dde04a6fc45ebf549b0125749d4 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Fri, 25 Dec 2020 20:50:52 +0800 Subject: [PATCH 23/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 11 +++++++++++ .../FinancePromoteController.class.php | 17 +++++------------ .../Controller/PayChannelController.class.php | 17 +++++++++++------ Application/Admin/View/PayChannel/index.html | 12 +++++++++--- 4 files changed, 36 insertions(+), 21 deletions(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index caa94cfc7..829f6ab15 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1074,3 +1074,14 @@ function is_subsiteTable($tableName,$is_subsiteTable=false) } return false; } +/** + * 添加子站点条件 + * @param [arrary] $map + * @param string $field 数据库查询字段 + * @return void + */ +function addSubsiteWhere(&$map,$field){ + if(IS_SUBSITE){ + $map[$field] = PARTNER_TYPE; + } +} diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php index e628d5e59..e5407bd44 100644 --- a/Application/Admin/Controller/FinancePromoteController.class.php +++ b/Application/Admin/Controller/FinancePromoteController.class.php @@ -283,9 +283,7 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=1; - if(IS_SUBSITE){ - $map['s.partner_type']=PARTNER_TYPE; - } + D("Spend")->addSubsiteWhere($map,"s"); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, @@ -516,9 +514,7 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=1; - if(IS_SUBSITE){ - $map['s.partner_type']=PARTNER_TYPE; - } + D("Spend")->addSubsiteWhere($map,"s"); // dd($map); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, @@ -608,9 +604,7 @@ class FinancePromoteController extends AdminController $map['promote.admin_id'] = ['gt', 0]; $map['s.market_admin_id'] = ['gt', 0]; } - if(IS_SUBSITE){ - $map['s.partner_type']=PARTNER_TYPE; - } + D("Spend")->addSubsiteWhere($map,"s"); //获取推广员 $title = ''; self::setPromoteMap($map,"s.promote_id",$title,false); @@ -746,9 +740,7 @@ class FinancePromoteController extends AdminController if ($adminId > 0) { $map['market_admin_id'] = $adminId; } - if(IS_SUBSITE){ - $map['partner_type']=PARTNER_TYPE; - } + D("Spend")->addSubsiteWhere($map); /* if (!empty(I('develop_type'))) { $map['company.develop_type'] = I('develop_type'); } @@ -1019,6 +1011,7 @@ class FinancePromoteController extends AdminController if (!empty(I('user_nickname'))) { $map['tab_spend.game_player_name'] = array('like',I("user_nickname").'%'); } + D("Spend")->addSubsiteWhere($map,"s"); $field = "pay_order_number,FROM_UNIXTIME(payed_time) as pay_time,tab_spend.user_account, tab_spend.user_nickname,tab_spend.game_name,tab_spend.promote_account,spend_ip,tab_spend.server_name,tab_spend.sdk_version, game_player_name,pay_amount,cost,pay_way"; diff --git a/Application/Admin/Controller/PayChannelController.class.php b/Application/Admin/Controller/PayChannelController.class.php index 133335391..aa9aea837 100644 --- a/Application/Admin/Controller/PayChannelController.class.php +++ b/Application/Admin/Controller/PayChannelController.class.php @@ -56,15 +56,17 @@ class PayChannelController extends ThinkController $map['pay_status'] = $coinMap['pay_status'] = 1; $map['pay_way'] = array('egt',1); - if(IS_SUBSITE){ - $map['partner_type']=PARTNER_TYPE; - $coinMap['tab_deposit.partner_type']=PARTNER_TYPE; - } + + D("Spend")->addSubsiteWhere($map); + D("Deposit")->addSubsiteWhere($coinMap); + D("Deposit")->addSubsiteWhere($offcialmap); + addSubsiteWhere($maptestorder,"partner_type"); + // setPowerPromoteIds($map,'promote_id'); //游戏币计算 - $data = SM('spend use index(pay_channel)','tab_',true) + $data = M('spend use index(pay_channel)','tab_') ->field("game_name,sum(pay_amount) as pay_amount,game_id,sdk_version") ->where($map) ->group('game_id') @@ -100,7 +102,7 @@ class PayChannelController extends ThinkController //测试白名单 $testList = implode(",",M("test_white_list","tab_")->getField("user_id",true)); //测试数据汇总计算 - $testData = SM('spend','tab_') + $testData = M('spend','tab_') ->field("sum(pay_amount) as test_coin,game_name,game_id") ->where($map) ->where("user_id in ({$testList})") @@ -607,6 +609,9 @@ class PayChannelController extends ThinkController $map['pay_status'] = 1; + D("Spend")->addSubsiteWhere($map); + D("Deposit")->addSubsiteWhere($coinMap,"tab_deposit"); + D("Deposit")->addSubsiteWhere($offcialmap); $_REQUEST['model']?$model= $_REQUEST['model']:false; diff --git a/Application/Admin/View/PayChannel/index.html b/Application/Admin/View/PayChannel/index.html index b45ad9642..5490f4205 100644 --- a/Application/Admin/View/PayChannel/index.html +++ b/Application/Admin/View/PayChannel/index.html @@ -75,7 +75,9 @@ @@ -244,9 +246,13 @@ - + {$key}:{$payTypeData['amount']}          - + + + {$key}:{$payTypeData['amount']}          + + 平台币直充总金额(2019.12.18号以前的无法对应游戏记录不显示在列表中,此项也不计入充值方式统计){$coinSum}0.00 From 0e54b1c37672e9fd53283b7a38fefabc9a66fb1d Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 28 Dec 2020 15:34:54 +0800 Subject: [PATCH 24/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=A0=E9=81=93?= =?UTF-8?q?=E5=92=8C=E6=B5=8B=E8=AF=95=E6=9C=8D=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/ExportController.class.php | 2 +- .../Controller/FinanceController.class.php | 50 +++++++++++-------- .../Controller/PayChannelController.class.php | 15 ++++++ .../Controller/TestOrderController.class.php | 1 + .../Admin/View/Finance/payTypeStatistics.html | 5 +- 5 files changed, 48 insertions(+), 25 deletions(-) diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index cebf54414..1cf512b64 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -2596,7 +2596,7 @@ class ExportController extends Controller unset($_REQUEST['merchant_id']); } - + addSubsiteWhere($map,"partner_type"); $orderData =M('test_order t', 'tab_') ->field("t.*,g.sdk_version") ->join("tab_game g on t.game_id = g.id","left") diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index e07849218..ab49ab0b6 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -1325,7 +1325,9 @@ class FinanceController extends ThinkController public function payTypeStatistics() { $time = array('egt', 0);; - + if(!array_key_exists("timestart",$_REQUEST)){ + $this->redirect(ACTION_NAME, array('timestart' => date('Y-m-d',strtotime('-30 day')),"timeend"=>date('Y-m-d'))); + } if (!empty($_REQUEST['timestart']) && !empty($_REQUEST['timeend'])) { $time = array('between', [strtotime($_REQUEST['timestart']), strtotime($_REQUEST['timeend']) + 86399]); } elseif (!empty($_REQUEST['timestart']) && empty($_REQUEST['timeend'])) { @@ -1334,11 +1336,14 @@ class FinanceController extends ThinkController $time = array('elt', (strtotime($_REQUEST['timeend']) + 86399)); } // setPowerPromoteIds($map); - + $cashMap = [ + 'pay_status' => 1,'pay_way'=>['egt',1],'payed_time'=>$time + ]; + D("Spend")->addSubsiteWhere($cashMap); //获取现金充值 - $cashStatistics = SM('spend', 'tab_') + $cashStatistics = M('spend', 'tab_') ->field('pay_way,"" as pay_type,SUM(pay_amount) AS pay_amount') - ->where(['pay_status' => 1,'pay_way'=>['egt',1],'payed_time'=>$time]) + ->where($cashMap) ->group('pay_way') ->select(); foreach ($cashStatistics as $key => $value) { @@ -1348,12 +1353,14 @@ class FinanceController extends ThinkController $cashStatistics = array_column($cashStatistics, null, 'pay_way'); // dd($cashStatistics); //获取平台币充值 - $deposit = SM('deposit', 'tab_')->where([ + $depositMap = [ 'pay_source' => 2, 'tab_deposit.pay_status' => 1, 'tab_deposit.pay_way' => ['gt', 0], 'tab_deposit.payed_time'=>$time, - ])->field('tab_deposit.pay_way,"" as pay_type, SUM(tab_deposit.pay_amount) AS balance') + ]; + D("Deposit")->addSubsiteWhere($depositMap,"tab_deposit"); + $deposit = M('deposit', 'tab_')->where($depositMap)->field('tab_deposit.pay_way,"" as pay_type, SUM(tab_deposit.pay_amount) AS balance') ->group('tab_deposit.pay_way') ->select(); foreach ($deposit as $key => $value) { @@ -1435,18 +1442,16 @@ class FinanceController extends ThinkController $cashStatistics[$value['pay_way']]['balance'] += $value['pay_amount'];//别表的平台币充值 } //官网充值 - $offcialmap['pay_status'] = 1; - $offcialmap['pay_way'] = array('egt',1); - $offcialmap['pay_source'] = 0; - - $offcialData = SM('deposit','tab_') + $offcialmap = [ + 'pay_status'=>1, + 'pay_way'=>['egt',1], + 'pay_source'=>0, + 'payed_time'=>$time + ]; + D("Deposit")->addSubsiteWhere($offcialmap); + $offcialData = M('deposit','tab_') ->field("pay_way,'' as pay_type,sum(pay_amount) as pay_amount") - ->where([ - 'pay_status'=>1, - 'pay_way'=>['egt',1], - 'pay_source'=>0, - 'payed_time'=>$time - ]) + ->where($offcialmap) ->group('pay_way') ->select(); @@ -1464,12 +1469,13 @@ class FinanceController extends ThinkController } $cashStatistics[$value['pay_way']]['balance'] += $value['pay_amount'];//别表的平台币充值 } - + $testOrderMap = [ + 'pay_way'=>['egt',1], + 'pay_time'=>$time + ]; + addSubsiteWhere($testOrderMap,"partner_type"); $testOrderData = M('test_order', 'tab_') - ->where([ - 'pay_way'=>['egt',1], - 'pay_time'=>$time - ]) + ->where($testOrderMap) ->field('pay_way,sum(pay_amount) as pay_amount') ->group("pay_way") ->select(); diff --git a/Application/Admin/Controller/PayChannelController.class.php b/Application/Admin/Controller/PayChannelController.class.php index aa9aea837..a3efef00e 100644 --- a/Application/Admin/Controller/PayChannelController.class.php +++ b/Application/Admin/Controller/PayChannelController.class.php @@ -808,6 +808,9 @@ class PayChannelController extends ThinkController $_REQUEST['game_id']?$coinMap['game_id'] = $_REQUEST['game_id']:false; $map['pay_status'] = 1; + D("Spend")->addSubsiteWhere($map); + D("Deposit")->addSubsiteWhere($coinMap,"tab_deposit"); + D("Deposit")->addSubsiteWhere($offcialmap); // setPowerPromoteIds($map,'promote_id'); // setPowerPromoteIds($coinMap,'tab_deposit.promote_id'); @@ -1034,6 +1037,7 @@ class PayChannelController extends ThinkController if ($_REQUEST['game_id']) { $map['game_id'] = $_REQUEST['game_id']; } + D("Spend")->addSubsiteWhere($map,"tab_spend"); // setPowerPromoteIds($map,'promote_id'); $data = M('spend','tab_') ->field("pay_order_number,order_number,tab_spend.user_account,pay_time,game_name,server_name,game_player_name,cost,pay_amount,pay_way as pay_type,pay_way,pay_game_status,sdk_version") @@ -1048,6 +1052,8 @@ class PayChannelController extends ThinkController $map['user_account'] = $map['tab_spend.user_account']; unset($map['tab_spend.user_account']); + + $coinMap = $map; $map['tab_spend.user_account'] = array('like',"{$_REQUEST['user_account']}%"); $coinMap['tab_deposit.pay_status'] = 1; @@ -1055,6 +1061,9 @@ class PayChannelController extends ThinkController $coinMap['tab_deposit.user_account'] = $coinMap['user_account']; unset($coinMap['user_account']); + if(isset($coinMap['tab_spend.partner_type'])) unset($coinMap['tab_spend.partner_type']); + D("Deposit")->addSubsiteWhere($coinMap,"tab_deposit"); + if(!$coinMap['tab_deposit.user_account']) { unset($coinMap['tab_deposit.user_account']); } @@ -1224,6 +1233,7 @@ class PayChannelController extends ThinkController // unset($map['pay_time']); // } // setPowerPromoteIds($map,'tab_deposit.promote_id'); + D("Deposit")->addSubsiteWhere($map,"tab_deposit"); $data = M('deposit','tab_') ->field("pay_order_number,order_number,user_account,create_time as pay_time,pay_amount as cost,pay_amount,pay_way as pay_type,pay_way") ->join('inner join tab_test_white_list on tab_deposit.user_id=tab_test_white_list.user_id') @@ -1413,6 +1423,7 @@ class PayChannelController extends ThinkController if ($_REQUEST['game_id']) { $map['game_id'] = $_REQUEST['game_id']; } + D("Spend")->addSubsiteWhere($map,"tab_spend"); // setPowerPromoteIds($map,'promote_id'); $data = M('spend','tab_') @@ -1440,6 +1451,9 @@ class PayChannelController extends ThinkController $coinMap['tab_deposit.user_account'] = $coinMap['user_account']; unset($coinMap['user_account']); + if(isset($coinMap['tab_spend.partner_type'])) unset($coinMap['tab_spend.partner_type']); + D("Deposit")->addSubsiteWhere($coinMap,"tab_deposit"); + if(!$coinMap['tab_deposit.user_account']) { unset($coinMap['tab_deposit.user_account']); } @@ -1635,6 +1649,7 @@ class PayChannelController extends ThinkController fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中 $map['pay_source'] = 0; + D("Deposit")->addSubsiteWhere($map,"tab_deposit"); if ($map['pay_time']) { $map['create_time'] = $map['pay_time']; unset($map['pay_time']); diff --git a/Application/Admin/Controller/TestOrderController.class.php b/Application/Admin/Controller/TestOrderController.class.php index 6ac73b078..e6cb886ea 100644 --- a/Application/Admin/Controller/TestOrderController.class.php +++ b/Application/Admin/Controller/TestOrderController.class.php @@ -63,6 +63,7 @@ class TestOrderController extends ThinkController $map['merchant_id'] = $_REQUEST['merchant_id']; unset($_REQUEST['merchant_id']); } + addSubsiteWhere($map,"partner_type"); $order_list = M('test_order t', 'tab_') ->field("t.*,g.sdk_version") ->join("tab_game g on t.game_id = g.id","left") diff --git a/Application/Admin/View/Finance/payTypeStatistics.html b/Application/Admin/View/Finance/payTypeStatistics.html index 0febbec2f..739b8dfe4 100644 --- a/Application/Admin/View/Finance/payTypeStatistics.html +++ b/Application/Admin/View/Finance/payTypeStatistics.html @@ -76,8 +76,9 @@ From b6c87bfefe2513922a5438d79feab868a1b1e24d Mon Sep 17 00:00:00 2001 From: chenzhi Date: Mon, 28 Dec 2020 18:35:02 +0800 Subject: [PATCH 25/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 1 + .../Admin/Controller/IndexChartSetController.class.php | 9 +++++++-- Application/Admin/Model/SpendModel.class.php | 6 ++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index dba99dbaa..aab8eb738 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -123,5 +123,6 @@ return array( "tab_company_lack_statement_info", "tab_company_statement_info", "tab_company_statement_pool", + "tab_financial_summary" ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/IndexChartSetController.class.php b/Application/Admin/Controller/IndexChartSetController.class.php index fa437b3e0..43ab6223e 100644 --- a/Application/Admin/Controller/IndexChartSetController.class.php +++ b/Application/Admin/Controller/IndexChartSetController.class.php @@ -35,7 +35,7 @@ class IndexChartSetController extends AdminController { $this->UserModel =M("User","tab_"); $this->ChartModel =SM("IndexChart","tab_"); $this->LoginModel =M("user_login_record","tab_"); - $this->SpendModel =SM("spend","tab_"); + $this->SpendModel =M("spend","tab_"); $this->PromoteModel =M("promote","tab_"); $this->nowdata =time(); if(I("reset")) $this->reset = true; @@ -191,6 +191,7 @@ class IndexChartSetController extends AdminController { } $this->adddata["pay_user_hours"] = json_encode($user_hours); unset($user_hours); + D("Spend")->addSubsiteWhere($map); $activeCount = $this->SpendModel->field('user_id') ->where($map) ->group('user_id') @@ -206,6 +207,7 @@ class IndexChartSetController extends AdminController { public function payMoney() { $map = ['pay_time'=>['between',[$this->beginTime,$this->endTime]],"pay_status"=>1];//1支付成功 + D("Spend")->addSubsiteWhere($map); $hoursnews = $this->SpendModel->field('FROM_UNIXTIME(pay_time, "%H") as time,sum(pay_amount) AS money') ->where($map) ->group("time") @@ -278,7 +280,10 @@ class IndexChartSetController extends AdminController { $allcount['android_gamesource_count'] = M("GameSource","tab_")->where("file_type = 1")->field("count(1) game_count")->find()['game_count'];//安卓游戏原包 $allcount['ios_gamesource_count'] = M("GameSource","tab_")->where("file_type = 2")->field("count(1) game_count")->find()['game_count'];//IOS游戏原包 $allcount['promote_user_count'] = $user->where("promote_id > 0 and puid = 0")->field("count(1) user_count")->find()['user_count'];//推广员注册用户 - $allcount['promote_spend_sum'] = $spend->where("promote_id > 0 and pay_status = 1")->field("sum(pay_amount) pay_amount")->find()['pay_amount'];//推广员总充值 + + $promoteMap = []; + D("Spend")->addSubsiteWhere($promoteMap); + $allcount['promote_spend_sum'] = $spend->where("promote_id > 0 and pay_status = 1")->where($promoteMap)->field("sum(pay_amount) pay_amount")->find()['pay_amount'];//推广员总充值 $this->adddata["all_count"] = json_encode($allcount); } diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index f5a605929..a0790420f 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -565,7 +565,7 @@ class SpendModel extends Model } $map['pay_status'] = 1; - + $this->addSubsiteWhere($map); $data = $this->field('FROM_UNIXTIME(pay_time,"' . $dateform . '") as ' . $group . ',sum(pay_amount) as ' . $fieldname) ->where($map)->group($group)->order($order)->select(); @@ -670,6 +670,7 @@ class SpendModel extends Model } $map['pay_status'] = 1; + $this->addSubsiteWhere($map); $data = $this->field('FROM_UNIXTIME(pay_time,"' . $dateform . '") as ' . $group . ',count( DISTINCT user_id) as ' . $fieldname) @@ -760,6 +761,7 @@ class SpendModel extends Model { $map['pay_status'] = 1; + $this->addSubsiteWhere($map); $data = $this->field('count( DISTINCT user_id) as count') ->where($map)->select(); @@ -777,7 +779,7 @@ class SpendModel extends Model { $map['pay_status'] = 1; - + $this->addSubsiteWhere($map); $data = $this ->where($map)->sum('pay_amount'); From 90de336434780ca92931252f39dff4c4750743c5 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 29 Dec 2020 11:25:47 +0800 Subject: [PATCH 26/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 2 +- .../FinancialSummaryController.class.php | 2 +- .../FinancialSummarySetController.class.php | 17 +++++++++++++++-- .../Controller/OldCountController.class.php | 8 ++++++-- Application/Admin/Model/DepositModel.class.php | 2 +- Application/Admin/Model/SpendModel.class.php | 2 +- 6 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index 829f6ab15..c7058b07a 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1082,6 +1082,6 @@ function is_subsiteTable($tableName,$is_subsiteTable=false) */ function addSubsiteWhere(&$map,$field){ if(IS_SUBSITE){ - $map[$field] = PARTNER_TYPE; + $map[$field] = ["in",[0,PARTNER_TYPE]]; } } diff --git a/Application/Admin/Controller/FinancialSummaryController.class.php b/Application/Admin/Controller/FinancialSummaryController.class.php index b2f60892b..13387dd52 100644 --- a/Application/Admin/Controller/FinancialSummaryController.class.php +++ b/Application/Admin/Controller/FinancialSummaryController.class.php @@ -99,7 +99,7 @@ class FinancialSummaryController extends AdminController "count_year"=>$_REQUEST['year'], "type"=>array("IN","1,{$_REQUEST['type']},4,5,6") ); - $dbres = M("FinancialSummary","tab_")->field("*")->where($map)->select(); + $dbres = SM("FinancialSummary","tab_")->field("*")->where($map)->select(); foreach ($dbres as $k => $v) { if($v['type'] == 1){ diff --git a/Application/Admin/Controller/FinancialSummarySetController.class.php b/Application/Admin/Controller/FinancialSummarySetController.class.php index 2720c987e..792850faa 100644 --- a/Application/Admin/Controller/FinancialSummarySetController.class.php +++ b/Application/Admin/Controller/FinancialSummarySetController.class.php @@ -31,7 +31,7 @@ class FinancialSummarySetController extends \Think\Controller $this->date = $this->year."-".$this->month; $this->nowdata =time(); - $this->FinancialSummaryModel =M("FinancialSummary",'tab_'); + $this->FinancialSummaryModel =SM("FinancialSummary",'tab_'); $this->DepositModel =M("Deposit",'tab_'); $this->SpendModel = M("Spend",'tab_'); $this->GameSupersignModel = M("GameSupersign",'tab_'); @@ -134,6 +134,7 @@ class FinancialSummarySetController extends \Think\Controller "payed_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)), "pay_status"=>1 ); + D("Spend")->addSubsiteWhere($map); $res = $this->SpendModel ->field("IFNULL(SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END),0) as cash_count,IFNULL(SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END),0) as balance_coin_count") ->where($map) @@ -225,6 +226,7 @@ class FinancialSummarySetController extends \Think\Controller $map2 = array( "pay_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)) ); + addSubsiteWhere($map2,"partner_type"); $test_pay_amount = $this->TestOrderModel->where($map2)->field("IFNULL(sum(pay_amount),0) pay_amount")->find()['pay_amount']; $temparr['sum_money'] = number_format(($test_pay_amount*100 )/100, 2, '.', ''); @@ -267,6 +269,7 @@ class FinancialSummarySetController extends \Think\Controller "payed_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)), "pay_status"=>1 ); + D("Spend")->addSubsiteWhere($map,"s"); $res = $this->SpendModel ->alias('s') ->field("IFNULL(SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END),0) as cash_count, @@ -368,6 +371,7 @@ class FinancialSummarySetController extends \Think\Controller "s.pay_status"=>1, "s.merchant_id"=>["GT","0"] ); + D("Spend")->addSubsiteWhere($map,"s"); $spres=$this->SpendModel ->alias("s") ->field("SUM(s.pay_amount) pay_amount,p.channel") @@ -394,6 +398,7 @@ class FinancialSummarySetController extends \Think\Controller "s.payed_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)), "s.pay_status"=>1 ]; + D("Deposit")->addSubsiteWhere($dp_map,"s"); $dpres=$this->DepositModel ->alias("s") ->field("SUM(s.pay_amount) pay_amount,p.channel") @@ -420,6 +425,7 @@ class FinancialSummarySetController extends \Think\Controller "s.pay_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)), "s.merchant_id"=>["GT","0"] ]; + addSubsiteWhere($to_map,"partner_type"); $tores=$this->TestOrderModel ->alias("s") ->field("SUM(s.pay_amount) pay_amount,p.channel") @@ -453,6 +459,7 @@ class FinancialSummarySetController extends \Think\Controller "s.pay_status"=>1, "s.merchant_id"=>["GT","0"] ); + D("Spend")->addSubsiteWhere($map,"s"); $spres=$this->SpendModel ->alias("s") ->field("SUM(s.pay_amount) pay_amount,s.merchant_way") @@ -477,6 +484,7 @@ class FinancialSummarySetController extends \Think\Controller "s.payed_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)), "s.pay_status"=>1 ]; + D("Deposit")->addSubsiteWhere($dp_map,"s"); $dpres=$this->DepositModel ->alias("s") ->field("SUM(s.pay_amount) pay_amount,s.merchant_way") @@ -501,6 +509,7 @@ class FinancialSummarySetController extends \Think\Controller "s.pay_time"=> array('BETWEEN',array($this->beginThismonth, $this->endThismonth)), "s.merchant_id"=>["GT","0"] ]; + addSubsiteWhere($to_map,"partner_type"); $tores=$this->TestOrderModel ->alias("s") ->field("SUM(s.pay_amount) pay_amount,s.merchant_way") @@ -535,7 +544,7 @@ class FinancialSummarySetController extends \Think\Controller $map = []; $map['payed_time'] = ['BETWEEN',[$this->beginThismonth, $this->endThismonth]]; - + addSubsiteWhere($map,"partner_type"); //游戏充值金额 $data = M("spend use index(pay_channel)","tab_") ->field("SUM(CASE WHEN merchant.id is not null and tab_test_white_list.user_id is null THEN pay_amount ELSE 0 END) as cash_amount, @@ -574,6 +583,9 @@ class FinancialSummarySetController extends \Think\Controller ->select(false); $map['pay_time'] = $map['payed_time']; unset($map['payed_time']); + if(isset($map['partner_type'])){ + unset($map['partner_type']); + } //推广后台 $spreadData = M("coin_pay_order","tab_") ->field("0 cash_amount,0 test_amount,0 coin_amount,0 offcial_amount, @@ -600,6 +612,7 @@ class FinancialSummarySetController extends \Think\Controller ->select(false); //测试环境内网平台订单 + addSubsiteWhere($map,"partner_type"); $testOrder = M('test_order', 'tab_') ->where(['tab_test_order.pay_way'=>['egt',1]]) ->field('0 cash_amount,0 test_amount,0 coin_amount,0 offcial_amount,0 spread_amount,0 supersign_amount, diff --git a/Application/Admin/Controller/OldCountController.class.php b/Application/Admin/Controller/OldCountController.class.php index 5367d3b8a..1693bf77a 100644 --- a/Application/Admin/Controller/OldCountController.class.php +++ b/Application/Admin/Controller/OldCountController.class.php @@ -530,9 +530,13 @@ class OldCountController extends \Think\Controller */ public function FinancialSummaryInit() { - //清空数据库 $sql = "truncate table tab_financial_summary"; - $res = M()->execute($sql); + if(IS_SUBSITE){ + $res =M()->db(1,SUBSITE_DB)->execute($sql); + }else { + //清空数据库 + $res = M()->execute($sql); + } echo "tab_financial_summary 清空成功".PHP_EOL; //获取19年9月到上个月的所有月份 $monthList = $this->getMonthsList(); diff --git a/Application/Admin/Model/DepositModel.class.php b/Application/Admin/Model/DepositModel.class.php index 741fbcbe5..71d85b49f 100644 --- a/Application/Admin/Model/DepositModel.class.php +++ b/Application/Admin/Model/DepositModel.class.php @@ -62,7 +62,7 @@ class DepositModel extends Model { $field = "partner_type"; !empty($alias) && $field = $alias.".".$field; if(IS_SUBSITE){ - $map[$field] = PARTNER_TYPE; + $map[$field] = ["in",[0,PARTNER_TYPE]]; } } diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index a0790420f..842d9a78e 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -77,7 +77,7 @@ class SpendModel extends Model $field = "partner_type"; !empty($alias) && $field = $alias.".".$field; if(IS_SUBSITE){ - $map[$field] = PARTNER_TYPE; + $map[$field] = ["in",[0,PARTNER_TYPE]]; } } From 6aeb73b759e9ea90f458ee7221a79527342c3feb Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 29 Dec 2020 15:28:41 +0800 Subject: [PATCH 27/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/FinancialSummaryController.class.php | 2 ++ .../Admin/Controller/FinancialSummarySetController.class.php | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Application/Admin/Controller/FinancialSummaryController.class.php b/Application/Admin/Controller/FinancialSummaryController.class.php index 13387dd52..fd72fffe5 100644 --- a/Application/Admin/Controller/FinancialSummaryController.class.php +++ b/Application/Admin/Controller/FinancialSummaryController.class.php @@ -100,6 +100,7 @@ class FinancialSummaryController extends AdminController "type"=>array("IN","1,{$_REQUEST['type']},4,5,6") ); $dbres = SM("FinancialSummary","tab_")->field("*")->where($map)->select(); + // dd( $dbres); foreach ($dbres as $k => $v) { if($v['type'] == 1){ @@ -146,6 +147,7 @@ class FinancialSummaryController extends AdminController } ksort($senddata[$k]['count']); } + // dd($senddata); $this->assign('data', $senddata); } //获取历史年份 diff --git a/Application/Admin/Controller/FinancialSummarySetController.class.php b/Application/Admin/Controller/FinancialSummarySetController.class.php index 792850faa..d90368c36 100644 --- a/Application/Admin/Controller/FinancialSummarySetController.class.php +++ b/Application/Admin/Controller/FinancialSummarySetController.class.php @@ -626,7 +626,7 @@ class FinancialSummarySetController extends \Think\Controller $sql = "{$data} UNION ALL {$coinData} UNION ALL {$officalData} UNION ALL {$spreadData} UNION ALL {$superSignData} UNION ALL {$testOrder}"; - $data = M()->table("({$sql})a") + $data = M()->db(0)->table("({$sql})a") ->field("sum(cash_amount) cash_amount,sum(test_amount) test_amount, sum(coin_amount) coin_amount,sum(offcial_amount) offcial_amount, sum(spread_amount) spread_amount,sum(supersign_amount) supersign_amount, @@ -635,9 +635,7 @@ class FinancialSummarySetController extends \Think\Controller ->where("name is not null") ->group("merchant_id") ->select(); - foreach ($data as $key => $value) { - $sum = $value['cash_amount']+$value['test_amount']+$value['coin_amount']+ $value['offcial_amount']+$value['spread_amount']+$value['supersign_amount']+$value['test_order_amount']; $this->adddata[] = array( From 19f74062981a37b98079c6792a301d305a53c7a3 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 29 Dec 2020 15:57:25 +0800 Subject: [PATCH 28/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CompanyStatementSetController.class.php | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index 1db73a6e0..54eca4274 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -256,7 +256,6 @@ class CompanyStatementSetController extends Controller { $verify_log=json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]); $GameDb = M("Game","tab_"); $StatementDb = SM("CompanyStatement","tab_"); - dump($cpList); $statement_begin_time = date("Y.m.d",$begintime); $statement_end_time = date("Y.m.d",$endtime); foreach($cpList as $k=>$v){ @@ -425,7 +424,6 @@ class CompanyStatementSetController extends Controller { //非重算 return $add_data; } - dump($add_data); $StatementDb->add($add_data); } @@ -452,7 +450,8 @@ class CompanyStatementSetController extends Controller { "payed_time"=>["BETWEEN",[$begintime,$endtime]], "game_id"=>["in",$gmstr] ]; - $paydb = SM('spend','tab_'); + D("Spend")->addSubsiteWhere($paywhere); + $paydb = M('spend','tab_'); $paylist = $paydb->field("game_id,SUM(pay_amount) pay_amount")->where($paywhere)->group("game_id")->select(); if(empty($paylist)){ return []; @@ -536,6 +535,7 @@ class CompanyStatementSetController extends Controller { "s.payed_time"=>['between', [$begintime,$endtime]], "s.promote_id"=>0 ]; + D("Spend")->addSubsiteWhere($spenMap,"s"); $list = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,g.relation_game_id,g.relation_game_name game_name')->where($spenMap)->group('relation_game_id') ->join("left join tab_game g on s.game_id = g.id") ->select(); @@ -560,7 +560,7 @@ class CompanyStatementSetController extends Controller { //非重算 return $add_data; } - M("CompanyStatement","tab_")->add($add_data); + SM("CompanyStatement","tab_")->add($add_data); } /** @@ -654,7 +654,7 @@ class CompanyStatementSetController extends Controller { //数据整合 $verify_log=json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]); - $StatementDb = M("CompanyStatement","tab_"); + $StatementDb = SM("CompanyStatement","tab_"); $statement_begin_time = date("Y.m.d",$begintime); $statement_end_time = date("Y.m.d",$endtime); @@ -955,14 +955,17 @@ class CompanyStatementSetController extends Controller { "s.payed_time"=>['between', [$begintime,$endtime]], "s.is_check"=>1 ]; + D("Spend")->addSubsiteWhere($spenMap); $cpMap = [ "s.pay_status"=>1, "s.payed_time"=>['between', [$begintime,$endtime]] ]; + D("Spend")->addSubsiteWhere($cpMap); $cpAllMap =[ "s.pay_status"=>1, "s.payed_time"=>['elt',$endtime] ]; + D("Spend")->addSubsiteWhere($cpAllMap); for ($i=0; $i ['between', [$begintime,$endtime]], "s.is_check"=>1 ]; + D("Spend")->addSubsiteWhere($spenMap,"s"); $cpallgame = []; $cpgame = []; $cpMap = [ "s.pay_status"=>1, "s.payed_time"=>['between', [$begintime,$endtime]] ]; - + D("Spend")->addSubsiteWhere($cpMap,"s"); $cpAllMap = [ "s.pay_status"=>1, "s.payed_time"=>['elt',$endtime] ]; + D("Spend")->addSubsiteWhere($cpAllMap,"s"); // unset($cpAllMap["s.payed_time"]); for ($i=0; $i add($data); + $id = SM("company_statement_pool","tab_")->add($data); //回写 if(!empty($info)){ $save["pool_id"]=$id; - M("company_statement_info","tab_")->where("id in ({$info})")->save($save); + SM("company_statement_info","tab_")->where("id in ({$info})")->save($save); } if(!empty($data['del_lack_ids'])){ - M("company_lack_statement_info","tab_")->where("id in ({$data['del_lack_ids']})")->save(["is_pool"=>1]); + SM("company_lack_statement_info","tab_")->where("id in ({$data['del_lack_ids']})")->save(["is_pool"=>1]); } } @@ -2150,6 +2155,7 @@ class CompanyStatementSetController extends Controller { $game_id = D("Game")->changeRelationGameidToGameid($relation_game_id); // dd($game_id); $spenMap['s.game_id'] =['in',$game_id]; + D("Spend")->addSubsiteWhere($spenMap); //获取支付记录 $pay_amount = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount')->where($spenMap)->find(); return $pay_amount['pay_amount'] ?? 0; @@ -2166,6 +2172,7 @@ class CompanyStatementSetController extends Controller { "s.payed_time"=>['between', [$begintime,$endtime]], "s.is_check"=>1 ]; + D("Spend")->addSubsiteWhere($spenMap); $Pmap = [ "chain"=>["LIKE","%/{$promote_id}/%"], @@ -2306,7 +2313,7 @@ class CompanyStatementSetController extends Controller { public function updateCompanyStatementData($id,$admin_user='system') { //获取数据 - $StatementDb = M("CompanyStatement","tab_"); + $StatementDb = SM("CompanyStatement","tab_"); $dbres = $StatementDb->where("id='{$id}'")->find(); //获取时间 $stime = $dbres['statement_end_time']-0+1; From b1a34cc9a06be4367e998723c712a03e8af9b2a3 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 29 Dec 2020 17:20:00 +0800 Subject: [PATCH 29/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8D=E6=89=93?= =?UTF-8?q?=E6=AC=BE=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 4 +- .../CompanyStatementLackController.class.php | 12 +- ...ompanyStatementOfflineController.class.php | 16 +-- .../CompanyStatementPoolController.class.php | 114 +++++++++--------- .../CompanyStatementSetController.class.php | 6 +- 5 files changed, 76 insertions(+), 76 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index aab8eb738..0877cdd14 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -118,11 +118,11 @@ return array( 'SUBSITE_TABLE'=>[ "sys_auth_group", "tab_index_chart", - "tab_deposit", "tab_company_statement", "tab_company_lack_statement_info", "tab_company_statement_info", "tab_company_statement_pool", - "tab_financial_summary" + "tab_financial_summary", + "tab_pay_statement_info" ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/CompanyStatementLackController.class.php b/Application/Admin/Controller/CompanyStatementLackController.class.php index 852787085..28394448f 100644 --- a/Application/Admin/Controller/CompanyStatementLackController.class.php +++ b/Application/Admin/Controller/CompanyStatementLackController.class.php @@ -22,7 +22,7 @@ class CompanyStatementLackController extends ThinkController public function _initialize() { $this->admininfo = $_SESSION['onethink_admin']['user_auth']; - $this->DBModel = M("CompanyLackStatementInfo","tab_"); + $this->DBModel = SM("CompanyLackStatementInfo","tab_"); parent::_initialize(); } public function lists() { @@ -226,8 +226,8 @@ class CompanyStatementLackController extends ThinkController } } - $Pool = M("company_statement_pool","tab_"); - $Statemen = M("company_statement","tab_"); + $Pool = SM("company_statement_pool","tab_"); + $Statemen = SM("company_statement","tab_"); foreach ($datas as $k => $v) { @@ -253,10 +253,10 @@ class CompanyStatementLackController extends ThinkController } if(!empty($info)){ $save["pool_id"]=$pool_id; - M("company_statement_info","tab_")->where("id in ({$info})")->save($save); + SM("company_statement_info","tab_")->where("id in ({$info})")->save($save); } if(!empty($v['del_lack_ids'])){ - M("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]); + SM("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]); } } $this->ajaxReturn(array( @@ -296,7 +296,7 @@ class CompanyStatementLackController extends ThinkController $verify_status = 2; } - $StatementInfo = M("company_statement_info","tab_"); + $StatementInfo = SM("company_statement_info","tab_"); if($va['pay_amount'] > 0){ //存成功 $company =[ diff --git a/Application/Admin/Controller/CompanyStatementOfflineController.class.php b/Application/Admin/Controller/CompanyStatementOfflineController.class.php index 791d6519a..5db139674 100644 --- a/Application/Admin/Controller/CompanyStatementOfflineController.class.php +++ b/Application/Admin/Controller/CompanyStatementOfflineController.class.php @@ -63,7 +63,7 @@ class CompanyStatementOfflineController extends ThinkController //条件end - $data = M("company_statement_info","tab_") + $data = SM("company_statement_info","tab_") ->alias("c") ->field("c.*,p.statement_num,p.verify_status") ->where($map) @@ -92,7 +92,7 @@ class CompanyStatementOfflineController extends ThinkController $v['oplist'] = $this->OpAuth($v); } - $count = M("company_statement_info","tab_")->alias("c")->field("count(c.id) count,sum(c.statement_money) statement_money")->join("tab_company_statement_pool as p ON c.pool_id = p.id")->where($map)->find(); + $count = SM("company_statement_info","tab_")->alias("c")->field("count(c.id) count,sum(c.statement_money) statement_money")->join("tab_company_statement_pool as p ON c.pool_id = p.id")->where($map)->find(); // dd($count); $params['p'] = $page; $params['row'] = $row; @@ -113,7 +113,7 @@ class CompanyStatementOfflineController extends ThinkController $ids = $_REQUEST['ids']; $payment_time = $_REQUEST['payment_time']; //获取所有的母单id - $companyStatementInfo = M("company_statement_info","tab_"); + $companyStatementInfo = SM("company_statement_info","tab_"); $statementPool = $companyStatementInfo->where("id in ($ids) and pay_status <> 1")->field("pool_id,count(id) count")->group("pool_id")->select(); $yPoolInfo = []; foreach ($statementPool as $k => $v) { @@ -134,7 +134,7 @@ class CompanyStatementOfflineController extends ThinkController $ires = $companyStatementInfo->where("id in ($ids)")->save($saveData); //全部就打款成功,否则打款中 - $companyStatementPool = M("company_statement_pool","tab_"); + $companyStatementPool = SM("company_statement_pool","tab_"); foreach ($poolInfo as $k => $v) { if($v['count'] == $yPoolInfo[$v['pool_id']]){ //打款成功 @@ -161,7 +161,7 @@ class CompanyStatementOfflineController extends ThinkController $is_export = true; } //获取基本信息 - $dbres = M("company_statement_info","tab_")->where("id='{$id}'")->select(); + $dbres = SM("company_statement_info","tab_")->where("id='{$id}'")->select(); $title = $dbres[0]['company_name']; $this->assign("title",$title); @@ -179,7 +179,7 @@ class CompanyStatementOfflineController extends ThinkController public function export(){ if(!isset($_REQUEST['ids'])) $this->error("参数错误"); $ids = $_REQUEST['ids']; - $dbres = M("company_statement_info","tab_")->where("id in ({$ids})")->select(); + $dbres = SM("company_statement_info","tab_")->where("id in ({$ids})")->select(); $is_export= false; if (isset($_REQUEST['export']) && $_REQUEST['export']==1){ @@ -202,13 +202,13 @@ class CompanyStatementOfflineController extends ThinkController 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 = SM("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']=$_SESSION['onethink_admin']['user_auth']["username"]; $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; - M("company_statement_pool","tab_")->save($dbres); + SM("company_statement_pool","tab_")->save($dbres); } public function OpAuth($info) diff --git a/Application/Admin/Controller/CompanyStatementPoolController.class.php b/Application/Admin/Controller/CompanyStatementPoolController.class.php index 9638f2444..1202c4864 100644 --- a/Application/Admin/Controller/CompanyStatementPoolController.class.php +++ b/Application/Admin/Controller/CompanyStatementPoolController.class.php @@ -51,7 +51,7 @@ class CompanyStatementPoolController extends ThinkController public function _initialize() { $this->admininfo = $_SESSION['onethink_admin']['user_auth']; - $this->DBModel = M("CompanyStatementPool","tab_"); + $this->DBModel = SM("CompanyStatementPool","tab_"); parent::_initialize(); } @@ -216,12 +216,12 @@ class CompanyStatementPoolController extends ThinkController $is_export = true; } //获取基本信息 - $infolist = M("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select(); + $infolist = SM("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select(); //获取母单 - $pool_info = M("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type,statement_begin_time,statement_end_time')->where("id={$id}")->find(); + $pool_info = SM("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type,statement_begin_time,statement_end_time')->where("id={$id}")->find(); if(!empty($pool_info['create_lack_ids'])){ $l_ids = $pool_info['create_lack_ids']; - $lack_info = M("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select(); + $lack_info = SM("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select(); $infolist =array_merge($infolist,$lack_info); } @@ -251,12 +251,12 @@ class CompanyStatementPoolController extends ThinkController $is_export = true; } //获取基本信息 - $infolist = M("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select(); + $infolist = SM("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select(); //获取母单 - $pool_info = M("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type')->where("id={$id}")->find(); + $pool_info = SM("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type')->where("id={$id}")->find(); if(!empty($pool_info['create_lack_ids'])){ $l_ids = $pool_info['create_lack_ids']; - $lack_info = M("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select(); + $lack_info = SM("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select(); $infolist =array_merge($infolist,$lack_info); } @@ -1143,7 +1143,7 @@ class CompanyStatementPoolController extends ThinkController public function delPayInfo($id) { - $company_statement_info = M("company_statement_info","tab_")->field("id")->where("pool_id={$id}")->select(); + $company_statement_info = SM("company_statement_info","tab_")->field("id")->where("pool_id={$id}")->select(); //有一笔单子已打款将不可撤回 foreach ($company_statement_info as $key => $value) { if($value['pay_status'] == 1) { @@ -1151,14 +1151,14 @@ class CompanyStatementPoolController extends ThinkController } } //线上打款审核状态撤回 - M("company_statement_info","tab_")->where("pool_id={$id}")->save(['pay_verify_status'=>0,'verify_time'=>'','verify_member_id'=>0]); + SM("company_statement_info","tab_")->where("pool_id={$id}")->save(['pay_verify_status'=>0,'verify_time'=>'','verify_member_id'=>0]); //线上打款支付宝状态撤回 - M("company_statement_info","tab_")->where("pool_id={$id} and verify_status != 2")->save(['verify_status'=>0]); + SM("company_statement_info","tab_")->where("pool_id={$id} and verify_status != 2")->save(['verify_status'=>0]); foreach ($company_statement_info as $key => $value) { - $is_hav = M("pay_statement_info","tab_")->where(['statement_info_id'=>$value['id']])->find(); + $is_hav = SM("pay_statement_info","tab_")->where(['statement_info_id'=>$value['id']])->find(); if ($is_hav) { - M("pay_statement_info","tab_")->where(['statement_info_id'=>$value['id']])->delete(); + SM("pay_statement_info","tab_")->where(['statement_info_id'=>$value['id']])->delete(); } } @@ -1171,7 +1171,7 @@ class CompanyStatementPoolController extends ThinkController $ids = $_REQUEST['ids']; //修改info - $ires = M("company_statement_info","tab_")->where("pool_id='{$ids}'")->save(['pay_type'=>3,'pay_status'=>1]); + $ires = SM("company_statement_info","tab_")->where("pool_id='{$ids}'")->save(['pay_type'=>3,'pay_status'=>1]); if($ires !== false){ $this->setVerifyStatus(1,4,"payment"); } @@ -1237,7 +1237,7 @@ class CompanyStatementPoolController extends ThinkController public function setPayment(){ if(!isset($_REQUEST['id'])) $this->error("参数错误"); $id = $_REQUEST['id']; - $CompanyInfo = M("company_statement_info","tab_") + $CompanyInfo = SM("company_statement_info","tab_") ->alias('i') ->field("i.id,i.pool_id,i.company_name,i.company_info,i.statement_money,p.statement_num,i.remark,i.pay_status,p.statement_money all_money,i.verify_status") ->join("tab_company_statement_pool p ON p.id = i.pool_id") @@ -1264,7 +1264,7 @@ class CompanyStatementPoolController extends ThinkController if(!isset($_REQUEST['info'])) $this->error("参数错误"); $info = $_REQUEST['info']; $pool_id = $_REQUEST['pool_id']; - $CompanyInfo = M("company_statement_info","tab_"); + $CompanyInfo = SM("company_statement_info","tab_"); //循环保存 foreach($info as $k=>$v){ $ydata = $CompanyInfo->where("id= '{$k}'")->find(); @@ -1305,7 +1305,7 @@ class CompanyStatementPoolController extends ThinkController public function viewPayment(){ if(!isset($_REQUEST['id'])) $this->error("参数错误"); $id = $_REQUEST['id']; - $CompanyInfo = M("company_statement_info","tab_") + $CompanyInfo = SM("company_statement_info","tab_") ->alias('i') ->field("i.id,i.pool_id,i.company_name,i.company_info,i.statement_money,p.statement_num,i.remark,i.pay_status,i.verify_status,p.statement_money all_money") ->join("tab_company_statement_pool p ON p.id = i.pool_id") @@ -1428,11 +1428,11 @@ class CompanyStatementPoolController extends ThinkController if(!isset($_REQUEST['id'])) $this->error("参数错误"); $id = $_REQUEST['id']; //获取结算信息 - $v = M("company_statement_info","tab_")->where("id = '{$id}'")->find(); + $v = SM("company_statement_info","tab_")->where("id = '{$id}'")->find(); if(empty($v)){ $this->error("请勿重复操作"); } - $pool = M("company_statement_pool","tab_")->where("id = {$v['pool_id']}")->find(); + $pool = SM("company_statement_pool","tab_")->where("id = {$v['pool_id']}")->find(); // dump($pool); @@ -1461,7 +1461,7 @@ class CompanyStatementPoolController extends ThinkController "withdraw_type"=>$v['withdraw_type'], "remark"=>$v["remark"], ]; - $l_id = M("company_lack_statement_info","tab_")->add($lackcompany); + $l_id = SM("company_lack_statement_info","tab_")->add($lackcompany); //汇总表 $pool_data = [ @@ -1480,8 +1480,8 @@ class CompanyStatementPoolController extends ThinkController }else{ $pool_data['create_lack_ids'] = $pool['create_lack_ids'].",".$l_id; } - M("company_statement_pool","tab_")->save($pool_data); - M("company_statement_info","tab_")->where("id='{$id}'")->delete(); + SM("company_statement_pool","tab_")->save($pool_data); + SM("company_statement_info","tab_")->where("id='{$id}'")->delete(); $this->ajaxReturn(array( 'status' => 1, "info"=>"不结算成功" @@ -1504,7 +1504,7 @@ class CompanyStatementPoolController extends ThinkController $re_op = true; $create_lack_ids = $db_res['create_lack_ids']; if(!empty($create_lack_ids) && !$is_qz){ - $clsi = M("company_lack_statement_info","tab_")->where("is_pool = 1 and id in ({$create_lack_ids})")->find(); + $clsi = SM("company_lack_statement_info","tab_")->where("is_pool = 1 and id in ({$create_lack_ids})")->find(); $re_op = true; if(!empty($clsi)){ $re_op = false; //被引用无法重算 @@ -1533,32 +1533,32 @@ class CompanyStatementPoolController extends ThinkController //执行删除 $dids = $info['del_lack_ids']; $cids = $info['create_lack_ids']; - M()->startTrans(); + SM()->startTrans(); //删除info - $infores = M("company_statement_info","tab_")->where("pool_id = {$info['id']}")->delete(); + $infores = SM("company_statement_info","tab_")->where("pool_id = {$info['id']}")->delete(); if($infores === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"重算失败")); } //删除自己 $poolres = $this->DBModel->where("id = {$info['id']}")->delete(); if($poolres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"重算失败")); } //修改引用不足单 if(!empty($dids)){ - $dres = M("company_lack_statement_info","tab_")->where("id in ({$dids})")->save(['is_pool'=>0]); + $dres = SM("company_lack_statement_info","tab_")->where("id in ({$dids})")->save(['is_pool'=>0]); if($dres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"重算失败")); } } //删除创建的不足单 if(!empty($cids)){ - $cres = M("company_lack_statement_info","tab_")->where("id in ({$cids})")->delete(); + $cres = SM("company_lack_statement_info","tab_")->where("id in ({$cids})")->delete(); if($cres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"重算失败")); } } @@ -1567,7 +1567,7 @@ class CompanyStatementPoolController extends ThinkController $type = $info['withdraw_type']; A("CompanyStatementSet")->promoteUserPool($type,$stime,true); - M()->commit(); + SM()->commit(); $this->ajaxReturn(array( 'status' => 1, 'info' => "重算成功" @@ -1576,19 +1576,19 @@ class CompanyStatementPoolController extends ThinkController public function cancelQzPool($info){ if(!empty($info['del_lack_ids'])){ - M()->startTrans();//事务 - $dbres = M("company_lack_statement_info","tab_")->where("id in ({$info['del_lack_ids']})")->save(['is_pool'=>0]); + SM()->startTrans();//事务 + $dbres = SM("company_lack_statement_info","tab_")->where("id in ({$info['del_lack_ids']})")->save(['is_pool'=>0]); $poolres = $this->DBModel->where("id = {$info['id']}")->delete(); - $infores = M("company_statement_info","tab_")->where("pool_id = {$info['id']}")->delete(); + $infores = SM("company_statement_info","tab_")->where("pool_id = {$info['id']}")->delete(); if($dbres !== false && $poolres !== false && $infores !== false){ - M()->commit(); + SM()->commit(); $this->ajaxReturn(array( 'status' => 1, 'info' => "撤销汇总成功" )); } } - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array( 'status' => 0, 'info' => "撤销汇总失败" @@ -1603,50 +1603,50 @@ class CompanyStatementPoolController extends ThinkController $dids = $info['del_lack_ids']; $cids = $info['create_lack_ids']; - M()->startTrans();//事务 + SM()->startTrans();//事务 //删除info - $infores = M("company_statement_info","tab_")->where("pool_id = {$info['id']}")->delete(); + $infores = SM("company_statement_info","tab_")->where("pool_id = {$info['id']}")->delete(); if($infores === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"撤销汇总失败")); } //删除自己 $poolres = $this->DBModel->where("id = {$info['id']}")->delete(); if($poolres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"撤销汇总失败")); } //修改结算单信息 - $st_res = M("company_statement","tab_")->field("id,verify_status,verify_log")->where("id in ({$sids})")->select(); + $st_res = SM("company_statement","tab_")->field("id,verify_status,verify_log")->where("id in ({$sids})")->select(); foreach($st_res as $k=>&$v){ $v['verify_log'] = json_decode($v['verify_log'],true); $v['verify_log']['pool_user']=$this->admininfo["username"]; $v['verify_log']['pool_time']=date("Y.m.d H:i:s"); $v['verify_log'] = json_encode($v['verify_log']); $v['verify_status']=-2; - $stres = M("company_statement","tab_")->save($v); + $stres = SM("company_statement","tab_")->save($v); if($stres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"撤销汇总失败")); } } //修改引用不足单 if(!empty($dids)){ - $dres = M("company_lack_statement_info","tab_")->where("id in ({$dids})")->save(['is_pool'=>0]); + $dres = SM("company_lack_statement_info","tab_")->where("id in ({$dids})")->save(['is_pool'=>0]); if($dres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"撤销汇总失败")); } } //删除创建的不足单 if(!empty($cids)){ - $cres = M("company_lack_statement_info","tab_")->where("id in ({$cids})")->delete(); + $cres = SM("company_lack_statement_info","tab_")->where("id in ({$cids})")->delete(); if($cres === false){ - M()->rollback(); + SM()->rollback(); $this->ajaxReturn(array('status' => 0,"info"=>"撤销汇总失败")); } } - M()->commit(); + SM()->commit(); $this->ajaxReturn(array( 'status' => 1, "info"=>"撤销汇总成功" @@ -1665,7 +1665,7 @@ class CompanyStatementPoolController extends ThinkController $re_op = true; if(!empty($create_lack_ids) && !$is_qz){ - $clsi = M("company_lack_statement_info","tab_")->where("is_pool = 1 and id in ({$create_lack_ids})")->find(); + $clsi = SM("company_lack_statement_info","tab_")->where("is_pool = 1 and id in ({$create_lack_ids})")->find(); $re_op = true; if(!empty($clsi)){ $re_op = false; //被引用无法重算 @@ -1852,7 +1852,7 @@ class CompanyStatementPoolController extends ThinkController foreach($value as $akey => $aval) { if ($st[$key][$akey] == 1) { - $model = M("company_statement_info","tab_"); + $model = SM("company_statement_info","tab_"); if (!$handledata[$key][1]) { $handledata[$key][1] = 1; @@ -1862,7 +1862,7 @@ class CompanyStatementPoolController extends ThinkController } else { - $model = M("company_lack_statement_info","tab_"); + $model = SM("company_lack_statement_info","tab_"); if (!$handledata[$key][0]) { $handledata[$key][0] = 1; @@ -1913,7 +1913,7 @@ class CompanyStatementPoolController extends ThinkController $statement_info_data = json_encode($statement_info); $r_data = $model->field("fine,reward")->where(['id'=>$key])->find(); - if($model == M("company_statement_info","tab_")) { + if($model == SM("company_statement_info","tab_")) { $reward += $r_data['reward']; $fine += $r_data['fine']; } else { @@ -1929,7 +1929,7 @@ class CompanyStatementPoolController extends ThinkController } //die(); - M("company_statement_pool","tab_")->where(['id'=>$id])->save(['pay_amount'=>$statement_amount,'statement_money'=>$statement_amount+$reward-$fine,'lack_statement_money'=>$statement_lack_amount+$lreward-$lfine]); + SM("company_statement_pool","tab_")->where(['id'=>$id])->save(['pay_amount'=>$statement_amount,'statement_money'=>$statement_amount+$reward-$fine,'lack_statement_money'=>$statement_lack_amount+$lreward-$lfine]); $this->ajaxReturn(['status'=>1,'info'=>'保存成功']); @@ -2021,7 +2021,7 @@ class CompanyStatementPoolController extends ThinkController $save['reward'] = $svalue['reward']; $save['is_limit'] = 1; - M("pay_statement_info", "tab_")->add($save); + SM("pay_statement_info", "tab_")->add($save); } } else { @@ -2040,7 +2040,7 @@ class CompanyStatementPoolController extends ThinkController $save['fine'] = $svalue['fine']; $save['reward'] = $svalue['reward']; - M("pay_statement_info", "tab_")->add($save); + SM("pay_statement_info", "tab_")->add($save); } @@ -2089,7 +2089,7 @@ class CompanyStatementPoolController extends ThinkController $save['fine'] = $svalue['fine']; $save['reward'] = $svalue['reward']; - M("pay_statement_info", "tab_")->add($save); + SM("pay_statement_info", "tab_")->add($save); } } else { $save['statement_begin_time'] = $svalue['statement_begin_time']; @@ -2110,7 +2110,7 @@ class CompanyStatementPoolController extends ThinkController $save['fine'] = $svalue['fine']; $save['reward'] = $svalue['reward']; - M("pay_statement_info", "tab_")->add($save); + SM("pay_statement_info", "tab_")->add($save); } } } diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index 54eca4274..87a6f0520 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -1597,12 +1597,12 @@ class CompanyStatementSetController extends Controller { $this->getPuPromoteSpend($pc,array_unique(array_keys($pc)),$begintime,$endtime); // dump($pc);die(); - $StatementDb = M("CompanyStatement","tab_"); + $StatementDb = SM("CompanyStatement","tab_"); $statement_begin_time = date("Y.m.d",$begintime); $statement_end_time = date("Y.m.d",$endtime); // $RewardRecord = M("RewardRecord","tab_"); - $LackStatement = M("company_lack_statement_info","tab_"); - $StatementInfo = M("company_statement_info","tab_"); + $LackStatement = SM("company_lack_statement_info","tab_"); + $StatementInfo = SM("company_statement_info","tab_"); foreach($pc as $k=>&$v){ $fax_ratio = $v['taxation_rate']; From f0829e84ccedcccbf90ae834aab6ca386b2a41b4 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 29 Dec 2020 20:59:29 +0800 Subject: [PATCH 30/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/ExportController.class.php | 5 ++++- .../Admin/Controller/PlatformController.class.php | 11 ++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 1cf512b64..39cce7e7b 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -3450,7 +3450,7 @@ class ExportController extends Controller $today = total(1); $week = total(2); $mounth = total(3); - + D("Spend")->addSubsiteWhere($map,"tab_spend"); $data = $spend ->field('tab_game.relation_game_name as game_name, tab_game.relation_game_id as game_id,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time, sum(pay_amount) as count') ->where($map) ->where($map) @@ -3471,6 +3471,7 @@ class ExportController extends Controller //unset($_REQUEST['game_type']); } setPowerPromoteIds($map2); + D("Spend")->addSubsiteWhere($map2,"tab_spend"); $data2 = $spend ->field('tab_game.relation_game_id as game_id, sum(IF(pay_time ' . $today . ',pay_amount,0)) as today, sum(IF(pay_time ' . $week . ',pay_amount,0)) as week, @@ -3660,6 +3661,7 @@ class ExportController extends Controller $today = total(1); $week = total(2); $mounth = total(3); + D("Spend")->addSubsiteWhere($map); $data = $spend ->field('pay_way,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time, sum(pay_amount) as count') ->where($map) @@ -3670,6 +3672,7 @@ class ExportController extends Controller $map2 = array(); $map2['pay_status'] = 1; setPowerPromoteIds($map2); + D("Spend")->addSubsiteWhere($map2); $data2 = $spend ->field('pay_way, sum(IF(pay_time ' . $today . ',pay_amount,0)) as today, diff --git a/Application/Admin/Controller/PlatformController.class.php b/Application/Admin/Controller/PlatformController.class.php index 599f86fee..90707d774 100644 --- a/Application/Admin/Controller/PlatformController.class.php +++ b/Application/Admin/Controller/PlatformController.class.php @@ -106,6 +106,7 @@ class PlatformController extends ThinkController "pay_time"=>["between",$yearMap], "pay_status"=>1 ]; + D("Spend")->addSubsiteWhere($map); $Payamount = M("Spend","tab_")->field("sum(pay_amount) pay_amount,FROM_UNIXTIME(`pay_time`, '%Y-%m') paytime")->where($map)->group("paytime")->select(); if(empty($Payamount)) return ; foreach ($Payamount as $v) { @@ -470,9 +471,9 @@ class PlatformController extends ThinkController $today = total(1); $week = total(2); $mounth = total(3); - + D("Spend")->addSubsiteWhere($map,"tab_spend"); $data = $spend - ->field('tab_game.relation_game_name as game_name, tab_game.relation_game_id as game_id,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time, sum(pay_amount) as count') ->where($map) + ->field('tab_game.relation_game_name as game_name, tab_game.relation_game_id as game_id,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time, sum(pay_amount) as count') ->where($map) ->join('tab_game on tab_game.id = tab_spend.game_id', 'left') ->group('tab_game.relation_game_id') @@ -492,6 +493,7 @@ class PlatformController extends ThinkController //unset($_REQUEST['game_type']); } setPowerPromoteIds($map2); + D("Spend")->addSubsiteWhere($map2,"tab_spend"); $data2 = $spend ->field('tab_game.relation_game_id as game_id, sum(IF(pay_time ' . $today . ',pay_amount,0)) as today, sum(IF(pay_time ' . $week . ',pay_amount,0)) as week, @@ -681,6 +683,7 @@ class PlatformController extends ThinkController $today = total(1); $week = total(2); $mounth = total(3); + D("Spend")->addSubsiteWhere($map); $data = $spend ->field('pay_way,date_format(FROM_UNIXTIME(pay_time),"%Y-%m-%d") AS time, sum(pay_amount) as count') ->where($map) @@ -691,6 +694,7 @@ class PlatformController extends ThinkController $map2 = array(); $map2['pay_status'] = 1; setPowerPromoteIds($map2); + D("Spend")->addSubsiteWhere($map2); $data2 = $spend ->field('pay_way, sum(IF(pay_time ' . $today . ',pay_amount,0)) as today, @@ -1070,6 +1074,7 @@ class PlatformController extends ThinkController //为数据权限添加 setPowerPromoteIds($map, 'tp1.id'); } + D("Spend")->addSubsiteWhere($map,"s"); $data = M('promote', 'tab_')->alias('tp1') ->field('tp1.account as promote_account,tp1.id,g.relation_game_id,g.relation_game_name, @@ -1260,7 +1265,7 @@ class PlatformController extends ThinkController function day_data($model = 'User', $column1 = array(), $column2 = 'count') { //今日本周本月不跟随选择的实现变动 只以当前日期为基准 - $table = M($model, 'tab_'); + $table = SM($model, 'tab_'); $today = total(1); $week = total(2); $mounth = total(3); From 813aebfd642327d6429ace9f2f8981e26ed46c61 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 14:09:51 +0800 Subject: [PATCH 31/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Controller/PlatformController.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/Application/Admin/Controller/PlatformController.class.php b/Application/Admin/Controller/PlatformController.class.php index bd46d3635..ce40100fc 100644 --- a/Application/Admin/Controller/PlatformController.class.php +++ b/Application/Admin/Controller/PlatformController.class.php @@ -255,6 +255,7 @@ class PlatformController extends ThinkController "pay_time"=>["between",$yearMap], "pay_status"=>1 ]; + D("Spend")->addSubsiteWhere($map); $Payamount = M("Spend","tab_")->field("sum(IF(is_check=1,pay_amount,0)) pay_amount,IFNULL(sum(IF(is_check=2,pay_amount,0)),0) unpay_amount,FROM_UNIXTIME(`pay_time`, '%Y-%m') paytime")->where($map)->group("paytime")->select(); if(empty($Payamount)) return ; foreach ($Payamount as $v) { From c5bc599289bee5c23d3b20a3f3c6104cb29b1ae0 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 14:31:01 +0800 Subject: [PATCH 32/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Controller/FinancePromoteController.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php index 14fa7dc47..78cc02102 100644 --- a/Application/Admin/Controller/FinancePromoteController.class.php +++ b/Application/Admin/Controller/FinancePromoteController.class.php @@ -294,6 +294,7 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=2; + D("Spend")->addSubsiteWhere($map,"s"); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, From 382f2527a0c3d6e5cffb700a382f54c40922fbae Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 15:39:19 +0800 Subject: [PATCH 33/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/TimingController.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Application/Admin/Controller/TimingController.class.php b/Application/Admin/Controller/TimingController.class.php index 29fed092b..71999a4a2 100644 --- a/Application/Admin/Controller/TimingController.class.php +++ b/Application/Admin/Controller/TimingController.class.php @@ -834,7 +834,7 @@ class TimingController extends AdminController { $amount_time['tab_spend.pay_status'] = 1; $amount_time['pay_way'] = ['egt',0]; $amount_time['_string'] = "payed_time between {$statement_begin_time} and {$statement_end_time} and relation_game_id={$v['relation_game_id']}"; - + D("Spend")->addSubsiteWhere($amount_time); $dataAmount = M("spend","tab_") ->field("pay_amount,relation_game_id,relation_game_name,payed_time,game_type_name,substring_index(substring_index(promote.`chain`,'/',2),'/',-1) promote_id,chain,admin_id") ->join("left join tab_promote promote on tab_spend.promote_id=promote.id") @@ -974,7 +974,7 @@ class TimingController extends AdminController { public function getSpendData($begintime = 0,$endtime = 0,$company_id=0,$relation_game_id=0,$admin_id=0,$promote_id=0) { $map['tab_spend.pay_status'] = 1; $map['pay_way'] = ['egt',0]; - + D("Spend")->addSubsiteWhere($map,"tab_spend"); $spend = M("spend","tab_") ->field("sum(pay_amount) pay_amount, CASE WHEN substring_index(substring_index(`chain`,'/',2),'/',-1) !='' THEN substring_index(substring_index(`chain`,'/',2),'/',-1) ELSE promote_id END promote_id,game.relation_game_id,company_id") @@ -1030,7 +1030,7 @@ class TimingController extends AdminController { } if ($map['pay_time']) { - M("settleup_marketorder","tab_") + SM("settleup_marketorder","tab_") ->where(['pay_time'=>['in',$month_time]]) ->delete(); } @@ -1086,7 +1086,7 @@ class TimingController extends AdminController { if (!$spend_map['_string']) { $spend_map['_string'] = "relation_game_id = 0"; } - + D("Spend")->addSubsiteWhere($spend_map,"tab_spend"); $spend = M("spend","tab_") ->field("sum(pay_amount) as pay_amount,FROM_UNIXTIME(pay_time,'%Y-%m') pay_time, substring_index(substring_index(tab_spend.game_name,'(',1),'(',-1) game_name,game_id,relation_game_id,tab_spend.sdk_version, @@ -1108,7 +1108,7 @@ class TimingController extends AdminController { ->select(false); $unsettlement['_string'] = "tab_spend.id not in($not_in_spend)"; - + D("Spend")->addSubsiteWhere($unsettlement,"tab_spend"); $unsettlement_spend = M("spend","tab_") ->field("sum(pay_amount) as pay_amount,FROM_UNIXTIME(pay_time,'%Y-%m') pay_time, substring_index(substring_index(tab_spend.game_name,'(',1),'(',-1) game_name,game_id,relation_game_id,tab_spend.sdk_version, From 1b0124606aa62dad5cba5ec77629dc91d709125a Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 16:53:42 +0800 Subject: [PATCH 34/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Conf/config.php | 5 +- .../Controller/TimingController.class.php | 226 +++--------------- 2 files changed, 41 insertions(+), 190 deletions(-) diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index 0877cdd14..363d90461 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -123,6 +123,9 @@ return array( "tab_company_statement_info", "tab_company_statement_pool", "tab_financial_summary", - "tab_pay_statement_info" + "tab_pay_statement_info", + "tab_settleup_marketorder", + "tab_market_altogether", + "tab_coefficient" ] ); \ No newline at end of file diff --git a/Application/Admin/Controller/TimingController.class.php b/Application/Admin/Controller/TimingController.class.php index 71999a4a2..5f50f2acc 100644 --- a/Application/Admin/Controller/TimingController.class.php +++ b/Application/Admin/Controller/TimingController.class.php @@ -344,167 +344,6 @@ class TimingController extends AdminController { } - public function caculateMarketList() { - - $map = []; - - $map['my_time'] = date('Y-m',strtotime('-1 month')); - - if ($_REQUEST['count_date']) { - $map['my_time'] = $_REQUEST['count_date']; - } - - if ($_REQUEST['count_date'] == 'all') { - $map['my_time'] = ['neq', date('Y-m',time())]; - } - - $spendMap['tab_spend.pay_status'] = 1; - //获取spend表中的数据,同时根据会长id进行group分类 - $data = M('Spend','tab_') - ->field("FROM_UNIXTIME(pay_time,'%Y-%m') as my_time,sum(pay_amount) as pay_amount,game_id,tab_spend.game_name,SUBSTRING_INDEX(tab_spend.`game_name`,\"(\",1) as game_names,promote_id,promote_account,company_relation,company_belong,CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(`chain`,\"/\",2),\"/\",-1)='' THEN promote_id ELSE SUBSTRING_INDEX(SUBSTRING_INDEX(`chain`,\"/\",2),\"/\",-1) END as root_id,tab_game.ratio,tab_game.relation_game_id,tab_spend.sdk_version ") - ->join("left join tab_promote on promote_id = tab_promote.id") - ->join("left join tab_game on tab_game.id=tab_spend.game_id") - ->where($spendMap) - ->group("my_time,game_id,root_id") - ->order("my_time Desc") - ->select(false); - - - //关联表获取会长账号名 - $data = M()->table('('.$data.') as a') - ->field("my_time,pay_amount,a.game_id,game_name,game_names,a.promote_id,a.promote_account,a.company_relation,a.company_belong,CASE WHEN root_id is null THEN 0 ELSE root_id END as root_id,CASE WHEN account is null THEN '官方渠道' ELSE account END as account,tab_ratio.ratio as ratio,turnover_ratio,a.ratio as game_ratio,a.sdk_version") - ->join("left join tab_promote on root_id = tab_promote.id") - ->join("left join tab_promote_game_ratio as tab_ratio on tab_ratio.game_id = a.relation_game_id and tab_ratio.promote_id=root_id and tab_ratio.status=1") - ->where($map) - ->group("my_time,game_id,root_id") - ->order("my_time Desc") - ->select(); - -// dump($data);die(); - - - foreach($data as $key => $value) { - echo "{$value['my_time']}-{$value['promote_account']}-{$value['game_name']}:{$value['pay_amount']}\n"; - $mytime = $value['my_time']; - $nextMonth = date('Y-m',strtotime("$mytime + 1 month")); - $game_id = $value['game_id']; - $gameInfo = M('game','tab_')->where(['id'=>$game_id])->getField('game_name'); - $gameName = substr($gameInfo,0,strpos($gameInfo,'(')); - $gameMap['game_name'] = ['like','%'.$gameName.'%']; - $gameIdArr = M('game','tab_')->field('id')->where($gameMap)->select(); - $gameNameIdArr = []; - foreach($gameIdArr as $gameKey => $gameValue){ - $gameNameIdArr[] = $gameValue['id']; - } - $promote_id = $value['promote_id']; - $pay_status = 1; - $promoteInfo = M('promote','tab_')->where(['id'=>$promote_id])->find(); - - $level = $promoteInfo['level']; - if($promote_id != 0) { - $promoteIdArr = []; - if ($level == 1) { - $rootPromoteId = $promote_id; - $promoteIdArr[] = $promote_id; - }else { - $chain = $promoteInfo['chain']; - $chainArr = explode('/',$chain); - $rootPromoteId = $chainArr[1]; - } - $where1['chain'] = array('like', '%/' . $rootPromoteId. '/%'); - $promoteIdInfo = M('promote','tab_')->field('id')->where($where1)->select(); - foreach($promoteIdInfo as $key2 => $v1) { - $promoteIdArr[] = $v1['id']; - } - $where['promote_id'] = ['in',$promoteIdArr]; - - if (!$promoteIdArr) { - $where['promote_id']= 0; - } - - }else { - $where['promote_id'] = 0; - } - - $where['game_id'] = ['in',$gameNameIdArr]; - $where['pay_status'] = 1; - $begTime = strtotime($mytime); - $endTime = strtotime($nextMonth); - $where['pay_time'] = ['between',[$begTime,$endTime]]; - $spendInfo = M('spend','tab_')->field('pay_amount,pay_way')->where($where)->select(); - - $initNum = 0; - foreach($spendInfo as $key1 => $spendValue) { - $pay_way = $spendValue['pay_way']; - $channel_rate = $this->getChannelConfig($pay_way) / 100; - $initNum += $spendValue['pay_amount'] * $channel_rate; - - } - $data[$key]['pay_amount'] = $value['pay_amount'] - $initNum; - - $data[$key]['upstream'] = caculateUpstream($value['game_id'],$value['pay_amount']); - - if ($value['ratio']) { - $data[$key]['downstream'] = $value['pay_amount'] * ($value['ratio']*0.01); - } else { - $data[$key]['downstream'] = $value['pay_amount'] * ($value['game_ratio']*0.01); - } - - $value['turnover_ratio'] = json_decode($value['turnover_ratio'],true); - -// dd($value); - - if (is_array($value['turnover_ratio'])) { - foreach($value['turnover_ratio'] as $k =>$v) { - if(($value['pay_amount']>=$v['turnover']&&$v['instanceof']==1) || $value['pay_amount']>$v['turnover']) { - $data[$key]['downstream'] = $value['pay_amount'] * ($v['ratio']*0.01); - } - } - } - - $data[$key]['highquality'] = number_format(($value['pay_amount'] - $initNum - $data[$key]['upstream']-$data[$key]['downstream']) * (1-0.0672),2,'.',''); - - if (!$data[$key]['company_belong']) { - $data[$key]['company_belong'] = getCompanyBlong(0); - } else { - $data[$key]['company_belong'] = getCompanyBlong($data[$key]['company_belong']); - } - - $data[$key]['company_relation'] = $data[$key]['company_relation']?'只维护':'自主开发及维护'; - - } - - foreach($data as $key => $value) { - - $is_hav = M('market_balance','tab_')->where(['my_time'=>$value['my_time'], - 'game_id'=>$value['game_id'], - 'promote_id'=>$value['promote_id'], - 'root_id'=>$value['root_id']])->find(); - - if (!$is_hav) { - M('market_balance','tab_')->add($value); - } else { - M('market_balance','tab_') - ->where(['my_time'=>$value['my_time'], - 'game_id'=>$value['game_id'], - 'promote_id'=>$value['promote_id'], - 'root_id'=>$value['root_id']]) - ->save(['pay_amount'=>$value['pay_amount'], - 'ratio'=>$value['ratio'], - 'turnover_ratio'=>$value['turnover_ratio'], - 'game_ratio'=>$value['game_ratio'], - 'upstream'=>$value['upstream'], - 'downstream'=>$value['downstream'], - 'highquality'=>$value['highquality']]); - } - } - - - echo 'success'; - -// dump($data);die(); - - } public function getChannelConfig($pay_way = 0,$config=false) { if(!$config) { @@ -764,7 +603,7 @@ class TimingController extends AdminController { */ public function getSpecialComplement($start_time=0,$end_time =0,$promote_id = 0) { - $data = M("company_statement","tab_") + $data = SM("company_statement","tab_") // ->where("statement_begin_time<={$start_time} and statement_end_time<={$end_time} and withdraw_type=3") ->where("(statement_begin_time <={$end_time} AND ( statement_end_time = 0 OR statement_end_time >= {$start_time})) and withdraw_type=3") ->select(); @@ -772,12 +611,12 @@ class TimingController extends AdminController { $return = []; foreach ($data as $key => $value) { $info = []; - $pool_data = M("company_statement_pool","tab_") + $pool_data = SM("company_statement_pool","tab_") ->field("id") ->where("(statement_begin_time <={$end_time} AND ( statement_end_time = 0 OR statement_end_time >= {$start_time})) and withdraw_type=3 and statement_ids like '%{$value['id']}%'") ->select(); foreach ($pool_data as $pk => $pv) { - $info = M("company_statement_info","tab_") + $info = SM("company_statement_info","tab_") ->field("statement_info") ->where("(statement_begin_time <={$end_time} AND ( statement_end_time = 0 OR statement_end_time >= {$start_time})) and withdraw_type=3 and pool_id = {$pv['id']} and company_id = {$value['company_id']}") ->find()['statement_info']; @@ -1410,17 +1249,17 @@ class TimingController extends AdminController { unset($promote_data[$key]['market_percentage']); - $marker_data = M("settleup_marketorder","tab_") + $marker_data = SM("settleup_marketorder","tab_") ->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name'],'admin_id'=>$value['admin_id'],'is_settlement'=>$value['is_settlement']]) ->find(); echo "日期:{$value['pay_time']},游戏:{$value['game_name']},推广员:{$value['promote_account']}\n"; echo "市场员:{$value['admin_id']} 推广员:{$value['promote_id']} 公司id:{$value['company_id']} 游戏关联id:{$value['relation_game_id']} 支付时间:{$value['pay_time']} 金额:{$value['pay_amount']}\n"; // dump($promote_data[$key]);die(); if (!$marker_data) { - M("settleup_marketorder","tab_") + SM("settleup_marketorder","tab_") ->add($promote_data[$key]); } else { - M("settleup_marketorder","tab_") + SM("settleup_marketorder","tab_") ->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name'],'admin_id'=>$value['admin_id'],'is_settlement'=>$value['is_settlement']]) ->save($promote_data[$key]); } @@ -1448,13 +1287,13 @@ class TimingController extends AdminController { $value['remark'] = ""; $value['create_time'] = time(); - $sign = M("market_altogether","tab_") + $sign = SM("market_altogether","tab_") ->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time]) ->find(); if (!$sign) { - M("market_altogether","tab_")->add($value); + SM("market_altogether","tab_")->add($value); } elseif(!$sign['real_name']) { - M("market_altogether","tab_")->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])->save(['real_name'=>$value['real_name']]); + SM("market_altogether","tab_")->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])->save(['real_name'=>$value['real_name']]); } } @@ -1489,26 +1328,35 @@ class TimingController extends AdminController { $map['pay_time'] = date('Y-m',strtotime(date('Y',time()).'-'.(date('m',time())-1).'-01'));; // unset($map['pay_time']); } else{ - M("market_altogether","tab_")->where(['pay_time'=>$pay_time])->delete(); + SM("market_altogether","tab_")->where(['pay_time'=>$pay_time])->delete(); $this->insertAllUserBonus($pay_time); } $map['is_settlement'] = 1; - $all_data = M("settleup_marketorder","tab_") - ->field("tab_settleup_marketorder.id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name, - sum(pay_amount) pay_amount,sum(company_profit) company_profit,group_id,market_percentage,nickname,admin_id, - sum(if((develop_type = 1 or develop_type = 2), pay_amount, 0)) performance_revenue,sum(if(develop_type = 3, pay_amount, 0)) appraisal_bonuses, - sum(company_tax) company_tax, sum(cp_amount) cp_amount,sum(promote_amount) promote_amount") - ->join("left join sys_auth_group_access access on admin_id=access.uid") - ->join("left join sys_auth_group auth on access.group_id=auth.id") - ->join("left join sys_member member on access.uid=member.uid") - ->where(['group_id'=>['in','11,12,21']]) - ->where($map) - ->group("admin_id,pay_time") - ->select(); + //获取admin_id + $accessData = M("auth_group_access") + ->alias("access") + ->join("left join sys_auth_group auth on access.group_id=auth.id") + ->join("left join sys_member member on access.uid=member.uid") + ->where(['group_id'=>['in','11,12,21']]) + ->getField("access.uid,group_id,market_percentage,nickname"); + + $all_data = SM("settleup_marketorder","tab_") + ->field("id,admin_id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name, + sum(pay_amount) pay_amount,sum(company_profit) company_profit, + sum(if((develop_type = 1 or develop_type = 2), pay_amount, 0)) performance_revenue,sum(if(develop_type = 3, pay_amount, 0)) appraisal_bonuses, + sum(company_tax) company_tax, sum(cp_amount) cp_amount,sum(promote_amount) promote_amount") + ->where($map) + ->where(["admin_id"=>['in',array_keys($accessData)]]) + ->group("admin_id,pay_time") + ->select(); foreach ($all_data as $key => $value) { + $admin_id = $value['admin_id']; + if(isset($accessData[$admin_id])){ + $value = array_merge($value,$accessData[$admin_id]); + } $sum_amount = $value['performance_revenue'] + $value['appraisal_bonuses']; @@ -1526,7 +1374,7 @@ class TimingController extends AdminController { // echo "{$value['nickname']}:{$value['pay_time']}\n"; // dump($market_percentage); - $settleup_marketorder = M("settleup_marketorder","tab_") + $settleup_marketorder = SM("settleup_marketorder","tab_") ->where(['admin_id'=>$value['admin_id'],'pay_time'=>$value['pay_time'],'is_settlement'=>1]) ->select(); @@ -1606,14 +1454,14 @@ class TimingController extends AdminController { $insert['performance_profit'] = number_format($all_data[$key]['performance_profit'], 2, '.', ''); // $insert['wait_commission'] = ($insert['wait_performance_commission']+$insert['wait_achievement_commission']); - $is_hav = M("market_altogether","tab_") + $is_hav = SM("market_altogether","tab_") ->where(['admin_id'=>$value['admin_id'],'pay_time'=>$value['pay_time']]) ->find(); if (!$is_hav) { - M("market_altogether","tab_")->add($insert); + SM("market_altogether","tab_")->add($insert); } else { - M("market_altogether","tab_") + SM("market_altogether","tab_") ->where(['admin_id'=>$value['admin_id'],'pay_time'=>$value['pay_time']]) ->save($insert); } @@ -1635,7 +1483,7 @@ class TimingController extends AdminController { unset($map['pay_time']); } - $data = M("market_altogether","tab_") + $data = SM("market_altogether","tab_") ->where($map) ->select(); // dump($map);die(); @@ -1685,7 +1533,7 @@ class TimingController extends AdminController { $map['pay_time'] = ['in',$where]; $map['admin_id'] = $value['admin_id']; - M("market_altogether","tab_") + SM("market_altogether","tab_") ->where($map) ->save($save); } From df2da6098692ee446a191260f58e80a34614751a Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 17:39:30 +0800 Subject: [PATCH 35/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E9=83=A8=E6=AF=9B=E5=88=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MarketPercentageController.class.php | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Application/Admin/Controller/MarketPercentageController.class.php b/Application/Admin/Controller/MarketPercentageController.class.php index d2df1b42f..b02fecdc1 100644 --- a/Application/Admin/Controller/MarketPercentageController.class.php +++ b/Application/Admin/Controller/MarketPercentageController.class.php @@ -33,7 +33,7 @@ class MarketPercentageController extends ThinkController // $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):''; $_REQUEST['promote_id']?($map['promote_id'] = $_REQUEST['promote_id']):''; $_REQUEST['relation_game_id']?($map['relation_game_id'] = $_REQUEST['relation_game_id']):''; - $_REQUEST['sdk_version']?($map['sdk_version'] = $_REQUEST['sdk_version']):''; + // $_REQUEST['sdk_version']?($map['sdk_version'] = $_REQUEST['sdk_version']):''; $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):''; ($_REQUEST['company_id']||$_REQUEST['company_id']=='0')?($map['company_id'] = $_REQUEST['company_id']):''; @@ -103,11 +103,10 @@ class MarketPercentageController extends ThinkController // dump($map);die(); // var_dump($map);die(); - $data = M("settleup_marketorder","tab_") - ->field("pay_time,promote_account,company_name,company_belong,member.real_name,develop_type,game_name, + $data = SM("settleup_marketorder","tab_") + ->field("pay_time,promote_account,company_name,company_belong,real_name,develop_type,game_name, sum(pay_amount) pay_amount,sum(cp_amount) cp_amount,sum(promote_amount) promote_amount, - sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit") - ->join("left join sys_member member on member.uid=admin_id"); + sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit"); if ($_REQUEST['export']) { $data = $data->where($map) @@ -122,7 +121,7 @@ class MarketPercentageController extends ThinkController ->select(); } - $sum = M("settleup_marketorder","tab_") + $sum = SM("settleup_marketorder","tab_") ->field("pay_time,promote_account,company_belong,real_name,develop_type,game_name, sum(pay_amount) pay_amount,sum(cp_amount) cp_amount,sum(promote_amount) promote_amount, sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit") @@ -186,12 +185,13 @@ class MarketPercentageController extends ThinkController data2csv($data,'市场毛利统计',$title); } - $count = M("settleup_marketorder","tab_") + $count = SM("settleup_marketorder","tab_") + ->field("promote_id,game_name,pay_time,admin_id") ->where($map) ->group("promote_id,game_name,pay_time,admin_id") - ->select(false); - - $count = M()->table("({$count}) count")->count(); + ->select(); + $count = count($count); + // $count = M()->table("({$count}) count")->count(); $page = set_pagination($count, $row); if ($page) { From 14bb68b82e2c9e8905fac16fc5d6165512404ad9 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 19:50:14 +0800 Subject: [PATCH 36/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=9A=E7=BB=A9?= =?UTF-8?q?=E6=8F=90=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MarketPercentageController.class.php | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Application/Admin/Controller/MarketPercentageController.class.php b/Application/Admin/Controller/MarketPercentageController.class.php index b02fecdc1..20fd27c4a 100644 --- a/Application/Admin/Controller/MarketPercentageController.class.php +++ b/Application/Admin/Controller/MarketPercentageController.class.php @@ -565,6 +565,8 @@ class MarketPercentageController extends ThinkController $map = []; $map['group_id'] = ['in','11,12,21']; + //获取权限 + $marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage"); // $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):''; $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):''; @@ -654,28 +656,24 @@ class MarketPercentageController extends ThinkController $this->assign('start_time',$start_time); $this->assign('end_time',$end_time); - $data = M("market_altogether","tab_") + $data = SM("market_altogether","tab_") ->where($map); if ($_REQUEST['export']) { $data = $data - ->field("tab_market_altogether.*,market_percentage") - ->join("left join sys_auth_group_access access on tab_market_altogether.admin_id = access.uid") - ->join("left join sys_auth_group auth on access.group_id=auth.id") + ->field("*") ->order("pay_time DESC,company_profit DESC") ->select(); } else { $data = $data - ->field("tab_market_altogether.*,market_percentage") - ->join("left join sys_auth_group_access access on tab_market_altogether.admin_id = access.uid") - ->join("left join sys_auth_group auth on access.group_id=auth.id") + ->field("*") // ->page($p, $row) ->order("pay_time DESC,company_profit DESC") ->select(); } - $count = M("market_altogether","tab_") + $count = SM("market_altogether","tab_") ->where($map) ->count(); @@ -701,7 +699,7 @@ class MarketPercentageController extends ThinkController $this->assign('coefficient_in_check',$this->checkRule($exportRule,array('in','1,2'))); } - $all_data = M("market_altogether","tab_") + $all_data = SM("market_altogether","tab_") // ->where($map) ->select(); $wait_amount = []; @@ -722,6 +720,10 @@ class MarketPercentageController extends ThinkController $admin = $_SESSION['onethink_admin']['user_auth']['username']; foreach ($data as $key => $value) { + $level = $value['level']; + if(isset($marketPercentage[$level])){ + $value['market_percentage'] = $marketPercentage[$level]; + } $Rule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_export_show_check"); if ($_REQUEST['export'] && $this->checkRule($Rule,array('in','1,2'))) { From c85e9a831f641fdf8579bfa3712ac9bf4fd7b26e Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 20:43:52 +0800 Subject: [PATCH 37/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/function.php | 12 +++++-- .../FinancialSummaryController.class.php | 2 +- .../MarketPercentageController.class.php | 35 +++++++++++-------- .../Admin/Model/CmdTasksModel.class.php | 8 +++++ 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index c7058b07a..8c4e50d16 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1060,9 +1060,15 @@ function showNumPercent($num) //优化子站点实例化方法 function SM($name='', $tablePrefix='tab_',$is_subsiteTable=false) { - $tableName = strtolower($tablePrefix.unCamelize($name)); - if(is_subsiteTable($tableName) || $is_subsiteTable){ - return M($name, $tablePrefix,SUBSITE_DB); + if(empty($name)){ + if(IS_SUBSITE){ + return M($name, $tablePrefix,SUBSITE_DB); + } + }else{ + $tableName = strtolower($tablePrefix.unCamelize($name)); + if(is_subsiteTable($tableName) || $is_subsiteTable){ + return M($name, $tablePrefix,SUBSITE_DB); + } } return M($name, $tablePrefix); } diff --git a/Application/Admin/Controller/FinancialSummaryController.class.php b/Application/Admin/Controller/FinancialSummaryController.class.php index f6bdcabc0..5c64eec11 100644 --- a/Application/Admin/Controller/FinancialSummaryController.class.php +++ b/Application/Admin/Controller/FinancialSummaryController.class.php @@ -44,7 +44,7 @@ class FinancialSummaryController extends AdminController public function updateStatement() { $temp = date('Y',time()).'-'.(date('m',time())-1); - $params = "php admin.php FinancialSummarySet/setMonthFinancialSummary/recount/1/count_date/{$temp}"; + $params = "php ".SUBSITE_INDEX." FinancialSummarySet/setMonthFinancialSummary/recount/1/count_date/{$temp}"; $r = D("CmdTasks")->addTask("FinancialSummary",$params); if($r){ $this->ajaxReturn(["success"=>"ok"]); diff --git a/Application/Admin/Controller/MarketPercentageController.class.php b/Application/Admin/Controller/MarketPercentageController.class.php index 20fd27c4a..6730933d4 100644 --- a/Application/Admin/Controller/MarketPercentageController.class.php +++ b/Application/Admin/Controller/MarketPercentageController.class.php @@ -1026,6 +1026,8 @@ class MarketPercentageController extends ThinkController $map = []; $map['group_id'] = ['in','11,12,21']; + //获取权限 + $marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage"); // $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):''; // $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):''; @@ -1105,10 +1107,8 @@ class MarketPercentageController extends ThinkController } } - $data = M("market_altogether","tab_") - ->field("tab_market_altogether.*,market_percentage") - ->join("left join sys_auth_group_access access on tab_market_altogether.admin_id = access.uid") - ->join("left join sys_auth_group auth on access.group_id=auth.id") + $data = SM("market_altogether","tab_") + ->field("*") ->where($map); if ($_REQUEST['export']) { @@ -1122,7 +1122,7 @@ class MarketPercentageController extends ThinkController ->select(); } - $count = M("market_altogether","tab_") + $count = SM("market_altogether","tab_") ->where($map) ->count(); @@ -1142,6 +1142,10 @@ class MarketPercentageController extends ThinkController $sum['wait_commission'] = 0; foreach ($data as $key => $value) { + $level = $value['level']; + if(isset($marketPercentage[$level])){ + $value['market_percentage'] = $marketPercentage[$level]; + } $data[$key]['start_time'] = date("Y-m-1",strtotime($value['pay_time'])); $data[$key]['end_time'] = date("Y-m-t",strtotime($value['pay_time'])); @@ -1262,7 +1266,7 @@ class MarketPercentageController extends ThinkController $this->ajaxReturn(['status'=>0,'msg'=>'数据错误']); } - $check_data = M("market_altogether","tab_") + $check_data = SM("market_altogether","tab_") ->where(['pay_time'=>$_REQUEST['pay_time'],'admin_id'=>$_REQUEST['admin_id']]) ->find(); @@ -1288,7 +1292,7 @@ class MarketPercentageController extends ThinkController $save['remark'] = '离职发放'; } - $is_save = M("market_altogether","tab_") + $is_save = SM("market_altogether","tab_") ->where($map) ->save($save); @@ -1311,7 +1315,7 @@ class MarketPercentageController extends ThinkController // var_dump("cd ".ROOTTT.";php admin.php timing/caculateMarketStream/time/{$pay_time} > /dev/null &");die(); - exec("source /etc/profile;cd ".ROOTTT.";php admin.php timing/caculateMarketStream/time/{$pay_time} > /dev/null &"); + exec("source /etc/profile;cd ".ROOTTT.";php ".SUBSITE_INDEX." timing/caculateMarketStream/time/{$pay_time} > /dev/null &"); $this->ajaxReturn(['status'=>1]); } @@ -1401,7 +1405,7 @@ class MarketPercentageController extends ThinkController } } - $data = M("market_altogether","tab_") + $data = SM("market_altogether","tab_") ->field("max(tab_market_altogether.pay_time) pay_time,tab_market_altogether.real_name,tab_market_altogether.admin_id,tab_market_altogether.nickname,level,sum(pay_amount) pay_amount,sum(extend_commission) extend_commission, sum(performance_commission) performance_commission,sum(achievement_bonus* IF(coefficient is not NULL, coefficient, 100)/100) achievement_bonus, sum(wait_performance_commission)+sum(wait_achievement_commission) wait_amount, @@ -1424,7 +1428,7 @@ class MarketPercentageController extends ThinkController ->select(false); } - $data = M()->table("({$data})a") + $data = SM()->table("({$data})a") ->field("max(pay_time) pay_time,real_name,admin_id,nickname,level,sum(pay_amount) pay_amount,sum(extend_commission) extend_commission, sum(performance_commission) performance_commission,sum(achievement_bonus) achievement_bonus,sum(wait_amount) wait_amount, sum(wait_extend_commission) wait_extend_commission,sum(wait_commission) wait_commission,remark,status") @@ -1492,11 +1496,12 @@ class MarketPercentageController extends ThinkController data2csv($data,'提成汇总结算单',$title); } - $count = M("market_altogether","tab_") + $count = SM("market_altogether","tab_") + ->field("admin_id") ->where($map) ->group("admin_id") - ->select(false); - $count = M()->table("({$count}) count")->count(); + ->select(); + $count = count($count); $page = set_pagination($count, $row); if ($page) { @@ -1575,7 +1580,7 @@ class MarketPercentageController extends ThinkController $admin = $_SESSION['onethink_admin']['user_auth']['username']; $market_check_detail = "市场部已确认({$admin})
".date("Y-m-d H:i:s",time()); - $is_save = M("market_altogether","tab_") + $is_save = SM("market_altogether","tab_") ->where(['id'=>['in',$ids],'market_check'=>0]) ->save(['market_check'=>1,'market_check_detail'=>$market_check_detail]); @@ -1598,7 +1603,7 @@ class MarketPercentageController extends ThinkController $admin = $_SESSION['onethink_admin']['user_auth']['username']; $finance_check_detail = "财务部已审批({$admin})
".date("Y-m-d H:i:s",time()); - $is_save = M("market_altogether","tab_") + $is_save = SM("market_altogether","tab_") ->where(['id'=>['in',$ids],'finance_check'=>0]) ->save(['finance_check'=>1,'finance_check_detail'=>$finance_check_detail]); diff --git a/Application/Admin/Model/CmdTasksModel.class.php b/Application/Admin/Model/CmdTasksModel.class.php index b3f15a73e..13705325f 100644 --- a/Application/Admin/Model/CmdTasksModel.class.php +++ b/Application/Admin/Model/CmdTasksModel.class.php @@ -8,6 +8,14 @@ use Think\Model; */ class CmdTasksModel extends Model{ protected $tablePrefix = 'tab_'; + public function __construct($model) + { + if(IS_SUBSITE){ + parent::__construct($model, $this->tablePrefix, SUBSITE_DB); + }else{ + parent::__construct($model, $this->tablePrefix); + } + } //获取待执行任务 public function getTask() { From 96c937b7d3118afea04e1ea9075bc5cf6ea2dd5a Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 20:50:09 +0800 Subject: [PATCH 38/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/Common/extend.php | 2 +- Application/Admin/Conf/config.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Application/Admin/Common/extend.php b/Application/Admin/Common/extend.php index 2be802ac6..a7c1ef372 100644 --- a/Application/Admin/Common/extend.php +++ b/Application/Admin/Common/extend.php @@ -2625,7 +2625,7 @@ function addOperationLog($options) } - M("OperationLog","tab_")->add($addarray); + SM("OperationLog","tab_")->add($addarray); } function getLink($pid=0,&$arr){ diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index 363d90461..90f82c3c5 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -126,6 +126,7 @@ return array( "tab_pay_statement_info", "tab_settleup_marketorder", "tab_market_altogether", - "tab_coefficient" + "tab_cmd_tasks", + "tab_operation_log" ] ); \ No newline at end of file From 36e91253639bbff63613b99fdf9372ce425ace48 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Wed, 30 Dec 2020 20:58:53 +0800 Subject: [PATCH 39/40] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/TestOrderController.class.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Application/Admin/Controller/TestOrderController.class.php b/Application/Admin/Controller/TestOrderController.class.php index e6cb886ea..8d9a3856b 100644 --- a/Application/Admin/Controller/TestOrderController.class.php +++ b/Application/Admin/Controller/TestOrderController.class.php @@ -97,7 +97,13 @@ class TestOrderController extends ThinkController public function saveOrder() { $data = $_GET; - + //获取parter_id + if(isset($data["merchant_id"])){ + $w = [ + "id"=>$data["merchant_id"] + ]; + $data["partner_type"] = M("payment_merchant","tab_")->where($w)->getField("main_id"); + } // dump($data);die(); $data['add_time'] = time(); $data['pay_time'] = strtotime($data['pay_time']); From 12f4cda85099373f418b791ce7ea4f692b9ea334 Mon Sep 17 00:00:00 2001 From: chenzhi Date: Thu, 31 Dec 2020 16:04:54 +0800 Subject: [PATCH 40/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E6=88=B7?= =?UTF-8?q?=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CompanyStatementSetController.class.php | 17 +++++++----- Application/Admin/View/Deposit/lists.html | 18 +++++++------ Application/Admin/View/Spend/lists.html | 19 ++++++++------ Application/Admin/View/TestOrder/lists.html | 26 +++++++++++-------- 4 files changed, 46 insertions(+), 34 deletions(-) diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index 87a6f0520..b3c5ed1d1 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -84,9 +84,11 @@ class CompanyStatementSetController extends Controller { $this->promoteCompanyStatement(0,$stime); echo "∟----推广公司周结统计ok".PHP_EOL; - - $this->promoteUserPool(0,$stime); - echo "∟----推广个人周结ok".PHP_EOL; + if(!IS_SUBSITE){ + $this->promoteUserPool(0,$stime); + echo "∟----推广个人周结ok".PHP_EOL; + } + } if($company == "cp"){ $this->cpStatement(0,$stime); @@ -115,10 +117,11 @@ class CompanyStatementSetController extends Controller { $this->promoteCompanyStatement(2,$stime); $this->officeCompanyStatement($stime); //官方结算 echo "∟----官方/推广公司月结&补点统计ok".PHP_EOL; - - $this->promoteUserPool(1,$stime); - $this->promoteUserPool(2,$stime); - echo "∟----推广个人月结&补点统计ok".PHP_EOL; + if(!IS_SUBSITE){ + $this->promoteUserPool(1,$stime); + $this->promoteUserPool(2,$stime); + echo "∟----推广个人月结&补点统计ok".PHP_EOL; + } } if($company == "cp"){ $this->cpStatement(1,$stime); diff --git a/Application/Admin/View/Deposit/lists.html b/Application/Admin/View/Deposit/lists.html index e268f6b63..5ce0ad3b6 100644 --- a/Application/Admin/View/Deposit/lists.html +++ b/Application/Admin/View/Deposit/lists.html @@ -83,14 +83,16 @@ -
- -
+ +
+ +
+
diff --git a/Application/Admin/View/Spend/lists.html b/Application/Admin/View/Spend/lists.html index 55caeff52..fb8bf063a 100644 --- a/Application/Admin/View/Spend/lists.html +++ b/Application/Admin/View/Spend/lists.html @@ -178,14 +178,17 @@ -
- -
+ +
+ +
+
+
-
- -
+ +
+ +
+