ith5 6 месяцев назад
Родитель
Сommit
811972467f

+ 2 - 1
app/v1/controller/gameLog/SdkOrderRankController.php

@@ -49,8 +49,9 @@ class SdkOrderRankController extends BaseController
         // 传入的是多选game_id, 转换成字符串
         // 传入的是多选game_id, 转换成字符串
         //$where['game_id'] = is_array($where['game_id']) ? implode(',', $where['game_id']) : $where['game_id'];
         //$where['game_id'] = is_array($where['game_id']) ? implode(',', $where['game_id']) : $where['game_id'];
 
 
+        $query = $this->logic->searchByAuth($where);
 
 
-        $data = $this->logic->getList($where);
+        $data = $this->logic->getList($query);
         return $this->success($data);
         return $this->success($data);
        
        
     }
     }

+ 1 - 1
app/v1/controller/gameLog/SdkOrderSuccessController.php

@@ -47,7 +47,7 @@ class SdkOrderSuccessController extends BaseController
             ['pay_date', ''],
             ['pay_date', ''],
         ]);
         ]);
         // 传入的是多选game_id, 转换成字符串
         // 传入的是多选game_id, 转换成字符串
-        $where['game_id'] = is_array($where['game_id']) ? implode(',', $where['game_id']) : $where['game_id'];
+        // $where['game_id'] = is_array($where['game_id']) ? implode(',', $where['game_id']) : $where['game_id'];
         $query = $this->logic->searchByAuth($where);
         $query = $this->logic->searchByAuth($where);
         $data = $this->logic->getList($query);
         $data = $this->logic->getList($query);
         $data['data'] = $this->logic->trandformListColumn($data['data'], ['game', 'ip', 'agent','auth', 'pay_channel']);
         $data['data'] = $this->logic->trandformListColumn($data['data'], ['game', 'ip', 'agent','auth', 'pay_channel']);

+ 36 - 56
app/v1/logic/gameLog/SdkOrderRankLogic.php

@@ -25,7 +25,7 @@ class SdkOrderRankLogic extends BaseLogic
         $this->model = new SdkOrderRank();
         $this->model = new SdkOrderRank();
     }
     }
 
 
-    public function getList($where): mixed
+    public function getList($query): mixed
     {
     {
         $saiType = request()->input('saiType', 'list');
         $saiType = request()->input('saiType', 'list');
         $page = request()->input('page', 1);
         $page = request()->input('page', 1);
@@ -37,48 +37,8 @@ class SdkOrderRankLogic extends BaseLogic
             $orderBy = 'searchTotalMoney';
             $orderBy = 'searchTotalMoney';
         }
         }
 
 
-        $params = $this->searchByAuth($where);
-
-        
-        $where = [];
-       if(!empty($params['game_id'])){
-            $where[] = ['game_id', 'in', $params['game_id']];
-       }
-       if(!empty($params['auth_id'])){
-            $where[] = ['auth_id', 'in', $params['auth_id']];
-       }
-       if(!empty($params['agent_id'])){
-            $where['agent_id'] = $params['agent_id'];
-       }
-       if(!empty($params['site_id'])){
-            $where['site_id'] = $params['site_id'];
-       }
-       if(!empty($params['server_id'])){
-            $where['server_id'] = $params['server_id'];
-       }
-       if(!empty($params['user_name'])){
-            $where['user_name'] = $params['user_name'];
-       }
-       if(!empty($params['server_name'])){
-            $where['server_name'] = $params['server_name'];
-       }
-       if(!empty($params['reg_date'])){
-            $where['reg_date'] = $params['reg_date'];
-       }
-       if(!empty($params['pay_date'])){
-            $sTime = $params['pay_date'][0] . " 00:00:00";
-            $eTime = $params['pay_date'][1] . " 23:59:59";    
-            $where[] = ['pay_date', 'between', [$sTime, $eTime]];
-       }
-
-
-       
-        $rankQuery = Db::connect('db_game_log')->table('sdk_order_success')->where($where);
-
-        $rankQuery->order($orderBy, $orderType);
-        
-        // 显示指定日期范围内的所有充值记录,不按uid和game_id分组
-        $rankQuery->field('user_name,sum(money) as searchTotalMoney,
+        // 先分组,再分页
+        $query = $query->field('user_name,sum(money) as searchTotalMoney,
             orderid,
             orderid,
             game_id,
             game_id,
             media_id,
             media_id,
@@ -96,23 +56,22 @@ class SdkOrderRankLogic extends BaseLogic
 
 
 
 
         if ($saiType === 'all') {
         if ($saiType === 'all') {
-            return $rankQuery->select()->toArray();
+            return $query->select()->toArray();
         }
         }
         
         
-        // 先分组,再分页
-        $rankQuery->group('uid, game_id,site_id,server_id,media_id,auth_id,agent_id,server_id,auth_id,role_id');
-
-        $data = $rankQuery->paginate($limit, false, ['page' => $page])->toArray();
-
+     
 
 
+        
+        $query->group('uid, game_id,site_id,server_id,media_id,auth_id,agent_id,server_id,auth_id,role_id');
 
 
-        print_r($data);
+        $query->order($orderBy, $orderType);
+        $data = $query->paginate($limit, false, ['page' => $page])->toArray();
 
 
 
 
         $data['data'] = $this->trandformListColumn($data['data'], ['game','auth', 'agent', 'pay_channel']);
         $data['data'] = $this->trandformListColumn($data['data'], ['game','auth', 'agent', 'pay_channel']);
 
 
 
 
-        // 告警提示,查询最近登录时间,查询最近充值时间,和现在时间对比,如果超过3天,则告警,并提示
+        // // 告警提示,查询最近登录时间,查询最近充值时间,和现在时间对比,如果超过3天,则告警,并提示
 
 
         foreach($data['data'] as &$item){
         foreach($data['data'] as &$item){
             // 最后登录时间
             // 最后登录时间
@@ -136,13 +95,34 @@ class SdkOrderRankLogic extends BaseLogic
            }
            }
         }
         }
 
 
-      
 
 
 
 
-       
-        $totalWhere = array_filter($where, function($item) {
-            return $item[0] !== 'pay_date';
-        });
+        $where = $query->getOptions();
+        $totalWhere = [];
+       if(!empty($where['game_id'])){
+            $totalWhere[] = ['game_id', 'in', $where['game_id']];
+       }
+       if(!empty($where['auth_id'])){
+            $totalWhere[] = ['auth_id', 'in', $where['auth_id']];
+       }
+       if(!empty($where['agent_id'])){
+            $totalWhere['agent_id'] = $where['agent_id'];
+       }
+       if(!empty($where['site_id'])){
+            $totalWhere['site_id'] = $where['site_id'];
+       }
+       if(!empty($where['server_id'])){
+            $totalWhere['server_id'] = $where['server_id'];
+       }
+       if(!empty($where['user_name'])){
+            $totalWhere['user_name'] = $where['user_name'];
+       }
+       if(!empty($where['server_name'])){
+            $totalWhere['server_name'] = $where['server_name'];
+       }
+       if(!empty($where['reg_date'])){
+            $totalWhere['reg_date'] = $where['reg_date'];
+       }
 
 
         $totalList = Db::connect('db_game_log')->table('sdk_order_success')
         $totalList = Db::connect('db_game_log')->table('sdk_order_success')
                     ->where($totalWhere)
                     ->where($totalWhere)

+ 24 - 5
plugin/saiadmin/basic/BaseLogic.php

@@ -185,13 +185,23 @@ class BaseLogic
         }
         }
         
         
         // 游戏权限
         // 游戏权限
+        // if(!empty($auth_game_list)){
+        //     // 如果传入的game_id存在,则取交集
+        //     if(!empty($data['game_id'])){
+        //         $data['game_id'] = array_values(array_intersect(explode(',', $data['game_id']), explode(',', $auth_game_list)));
+        //     }else{
+        //         // 如果传入的game_id不存在,则取权限中的game_id
+        //         $data['game_id'] =  $auth_game_list?explode(',', $auth_game_list) : '';
+        //     }
+        // }
         if(!empty($auth_game_list)){
         if(!empty($auth_game_list)){
-            // 如果传入的game_id存在,则取交集
+            echo '进入auth_game_list';
             if(!empty($data['game_id'])){
             if(!empty($data['game_id'])){
-                $data['game_id'] = array_values(array_intersect(explode(',', $data['game_id']), explode(',', $auth_game_list)));
+                $inputGameIds = is_array($data['game_id']) ? $data['game_id'] : explode(',', $data['game_id']);
+                $authGameIds = explode(',', $auth_game_list);
+                $data['game_id'] = array_values(array_intersect($inputGameIds, $authGameIds));
             }else{
             }else{
-                // 如果传入的game_id不存在,则取权限中的game_id
-                $data['game_id'] =  $auth_game_list?explode(',', $auth_game_list) : '';
+                $data['game_id'] = $auth_game_list ? explode(',', $auth_game_list) : '';
             }
             }
         }
         }
            
            
@@ -221,7 +231,9 @@ class BaseLogic
             $data['auth_id'] =  $under_user_ids;
             $data['auth_id'] =  $under_user_ids;
         }
         }
   
   
-        return $data;
+        // return $data;
+        print_r($data);
+         return $this->model->withSearch($withSearch, $data);
     }
     }
 
 
 
 
@@ -245,6 +257,13 @@ class BaseLogic
         if ($saiType === 'all') {
         if ($saiType === 'all') {
             return $query->select()->toArray();
             return $query->select()->toArray();
         }
         }
+
+
+
+
+
+        
+
         return $query->paginate($limit, false, ['page' => $page])->toArray();
         return $query->paginate($limit, false, ['page' => $page])->toArray();
     }
     }
 
 

+ 36 - 0
plugin/saiadmin/basic/BaseNormalModel.php

@@ -49,4 +49,40 @@ class BaseNormalModel extends Model
         $info && $model->setAttr('updated_by', $info['id']);
         $info && $model->setAttr('updated_by', $info['id']);
     }
     }
 
 
+    /**
+     * 游戏ID搜索
+     */
+    public function searchGameIdAttr($query, $value)
+    {
+        if (is_array($value)) {
+            $query->whereIn('game_id', $value);
+        } else if($value!='') {
+            $query->where('game_id', $value);
+        }
+    }
+
+    /**
+     * 负责人ID搜索
+     */
+    public function searchAuthIdAttr($query, $value)
+    {
+        if(is_array($value)){
+            $query->whereIn('auth_id', $value);
+        }else if($value!=''){
+            $query->where('auth_id', $value);
+        }
+    }
+
+    /**
+     * ID搜索
+     */
+    public function searchIdAttr($query, $value)
+    {
+        if (is_array($value)) {
+            $query->whereIn('id', $value);
+        } else if($value!=''){
+            $query->where('id', $value);
+        }
+    }
+
 }
 }