Tree 2 gün önce
ebeveyn
işleme
33a2ba9464

+ 8 - 2
app/Http/Controllers/Admin/GlobalController.php

@@ -605,13 +605,19 @@ class GlobalController extends Controller
         $channels = $adminChannels;
         $sortRegister = $request->sortRegister ?: '';
         $sortLogin = $request->sortLogin ?: '';
+        $minRecharge = is_numeric($request->input('minRecharge', 100))
+            ? max(0, (float)$request->input('minRecharge', 100))
+            : 100;
+        $maxWithdrawRate = is_numeric($request->input('maxWithdrawRate', 35))
+            ? max(0, (float)$request->input('maxWithdrawRate', 35))
+            : 35;
 
-        $list = (new GlobalUser())->rechargeRankList($channel, $sortRegister, $sortLogin);
+        $list = (new GlobalUser())->rechargeRankList($channel, $sortRegister, $sortLogin, $minRecharge, $maxWithdrawRate);
 
         $page = \Illuminate\Pagination\Paginator::resolveCurrentPage('page');
 
         return view('admin.global.recharge_rank', compact(
-            'list', 'channel', 'channels', 'page', 'sortRegister', 'sortLogin'
+            'list', 'channel', 'channels', 'page', 'sortRegister', 'sortLogin', 'minRecharge', 'maxWithdrawRate'
         ));
     }
 

+ 8 - 4
app/Services/GlobalUser.php

@@ -577,18 +577,22 @@ class GlobalUser extends BaseApiLogic
     /**
      * 充值排行榜:总充值>100 且 提现/充值<35%
      */
-    public function rechargeRankList($channel, $sortRegister = '', $sortLogin = '')
+    public function rechargeRankList($channel, $sortRegister = '', $sortLogin = '', $minRecharge = 100, $maxWithdrawRate = 35)
     {
         $AccountsInfoM = new AccountsInfo();
-        $minRecharge = 100;
+        $minRecharge = is_numeric($minRecharge) ? max(0, (float)$minRecharge) : 100;
+        $maxWithdrawRate = is_numeric($maxWithdrawRate) ? max(0, (float)$maxWithdrawRate) : 35;
+        $maxWithdrawRateDecimal = $maxWithdrawRate / 100;
 
         $numVal = NumConfig::NUM_VALUE;
         $giTable = TableName::QPTreasureDB() . 'GameScoreInfo';
+        $rutTable = TableName::QPRecordDB() . 'RecordUserTotalStatistics';
+        $rutSql = "(select UserID, max(Recharge) as Recharge, max(Withdraw) as Withdraw from {$rutTable} WITH (NOLOCK) group by UserID) as rut";
         $Sql = DB::connection('read')->table(TableName::QPAccountsDB() . 'AccountsInfo as ai')
-            ->join(TableName::QPRecordDB() . 'RecordUserTotalStatistics as rut', 'ai.UserID', 'rut.UserID')
+            ->join(DB::raw($rutSql), 'ai.UserID', 'rut.UserID')
             ->where('ai.IsAndroid', 0)
             ->where('rut.Recharge', '>', $minRecharge)
-            ->whereRaw("rut.Withdraw * 1.0 / (rut.Recharge * {$numVal}) < 0.35")
+            ->whereRaw("rut.Withdraw * 1.0 / (rut.Recharge * {$numVal}) < ?", [$maxWithdrawRateDecimal])
             ->distinct()
             ->selectRaw("ai.GameID, ai.UserID, ai.NickName, ai.Channel, ai.RegisterDate, ai.LastLogonDate, (select top 1 Score from {$giTable} where UserID = ai.UserID) as Score, rut.Recharge, rut.Withdraw");
 

+ 10 - 1
resources/views/admin/global/recharge_rank.blade.php

@@ -21,7 +21,7 @@
                 <div class="col-lg-12 grid-margin stretch-card">
                     <div class="card">
                         <div class="card-body">
-                            <h4 class="card-title">充值排行榜 <small style="color:#999">(总充值 &gt; 100 且 提现/充值 &lt; 35%)</small></h4>
+                            <h4 class="card-title">充值排行榜 <small style="color:#999">(总充值 &gt; {{$minRecharge}} 且 提现/充值 &lt; {{$maxWithdrawRate}}%)</small></h4>
                             <form class="well form-inline margin-top-20" method="get" action="/admin/global/recharge_rank">
                                 <div>
                                     <span style="padding-left: 10px">{{ __('auto.渠道名称:') }}</span>
@@ -32,6 +32,13 @@
                                         @endforeach
                                     </select> &nbsp;&nbsp;
 
+                                    <span style="padding-left: 10px">总充值 &gt;</span>
+                                    <input type="number" class="form-control" name="minRecharge" value="{{$minRecharge}}" min="0" step="0.01" style="width: 110px; color: black"> &nbsp;&nbsp;
+
+                                    <span style="padding-left: 10px">提现/充值 &lt;</span>
+                                    <input type="number" class="form-control" name="maxWithdrawRate" value="{{$maxWithdrawRate}}" min="0" step="0.01" style="width: 110px; color: black">
+                                    <span>%</span> &nbsp;&nbsp;
+
                                     <input type="submit" class="btn btn-sm btn-gradient-dark btn-icon-text" value="{{ __('auto.搜索') }}"/>&nbsp;&nbsp;
                                     <a href="/admin/global/recharge_rank" class="btn btn-sm btn-gradient-warning btn-icon-text">{{ __('auto.清空') }}</a>
                                 </div>
@@ -133,6 +140,8 @@
                         <div class="box-footer clearfix" id="pages">
                             {{ __('auto.总共') }} <b>{{ $list->appends([
                                     'channel' => $channel,
+                                    'minRecharge' => $minRecharge,
+                                    'maxWithdrawRate' => $maxWithdrawRate,
                                     'sortRegister' => $sortRegister ?? '',
                                     'sortLogin' => $sortLogin ?? '',
                                 ])->total() }}</b> {{ __('auto.条,分为') }}<b>{{ $list->lastPage() }}</b>{{ __('auto.页') }}