Forráskód Böngészése

fix 当日输赢排行2

laowu 2 hete
szülő
commit
aaa8bdec5f

+ 28 - 11
app/Http/Controllers/Admin/WinLoseRankController.php

@@ -16,27 +16,19 @@ class WinLoseRankController extends Controller
 
         $q = DB::table('QPRecordDB.dbo.RecordUserDataStatisticsNew as ruds');
         if ($req->input('sort')) {
-            $sort = $req->input('sort') == 1 ? 'rtp asc' : 'rtp desc';
+            $sort = $req->input('sort') == 1 ? 'CASE WHEN ruds.TotalBet > 0 THEN (ruds.WinScore - ruds.LostScore)/ruds.TotalBet ELSE 0 END asc' : 'CASE WHEN ruds.TotalBet > 0 THEN (ruds.WinScore - ruds.LostScore)/ruds.TotalBet ELSE 0 END desc';
             $q->orderByRaw($sort);
         }
         $page = $q
-            ->leftJoin('QPAccountsDB.dbo.AccountPhone as ap', 'ruds.UserID', '=', 'ap.UserID')
-            ->leftJoin('QPAccountsDB.dbo.AccountsInfo as ai', 'ruds.UserID', '=', 'ai.UserID')
-            ->leftJoin('QPAccountsDB.dbo.AccountWithdrawInfo as awi', 'awi.UserID', '=', 'ruds.UserID')
-            ->leftJoin('QPRecordDB.dbo.RecordUserTotalStatistics as ruds_old', 'ruds.UserID', '=', 'ruds_old.UserID')
             ->select([
             'ruds.UserID',
-            'ap.PhoneNum',
-            'ai.GameID',
-            'awi.EmailAddress',
             'ruds.WinScore',
             'ruds.LostScore',
             'ruds.TotalBet',
-            'ruds_old.Recharge',
-            'ruds_old.Withdraw',
             DB::raw('CASE WHEN ruds.TotalBet > 0 THEN (ruds.WinScore - ruds.LostScore)/ruds.TotalBet ELSE 0 END as rtp'),
             DB::raw('0 as sameRW'),
-            DB::raw('0 as KindID'),
+            DB::raw('0 as KindID'), DB::raw('0 as TotalRecharge'), DB::raw('0 as TotalWithdraw'),
+                DB::raw('\'\' as EmailAddress'), DB::raw('\'\' as PhoneNum'), DB::raw('0 as GameID'),
         ])->where($condition)
         ->paginate(15);
 
@@ -44,6 +36,31 @@ class WinLoseRankController extends Controller
             $uids = array_column($page->items(), 'UserID');
             $lockers = DB::table('QPTreasureDB.dbo.GameScoreLocker')->whereIn('UserID', $uids)
                 ->pluck('KindID', 'UserID')->toArray();
+            $phones = DB::table('QPAccountsDB.dbo.AccountPhone as ap')->whereIn('UserID', $uids)
+                ->pluck('PhoneNum', 'UserID')->toArray();
+            foreach ($page->items() as $key => $item) {
+                $item->PhoneNum = $phones[$item->UserID] ?? '';
+            }
+            $GameIDs = DB::table('QPAccountsDB.dbo.AccountsInfo as ai')->whereIn('UserID', $uids)
+                ->pluck('GameID', 'UserID')->toArray();
+            foreach ($page->items() as $key => $item) {
+                $item->GameID = $GameIDs[$item->UserID] ?? '';
+            }
+            $emails = DB::table('QPAccountsDB.dbo.AccountWithdrawInfo as awi')->whereIn('UserID', $uids)
+                ->pluck('EmailAddress', 'UserID')->toArray();
+            foreach ($page->items() as $key => $item) {
+                $item->EmailAddress = $emails[$item->UserID] ?? '';
+            }
+            $totals = DB::table('QPRecordDB.dbo.RecordUserTotalStatistics as ruts')->whereIn('UserID', $uids)
+                ->get()->toArray();
+            foreach ($page->items() as $key => $item) {
+                foreach ($totals as  $total) {
+                    if ($item->UserID == $total->UserID) {
+                        $item->TotalRecharge = $total->Recharge;
+                        $item->TotalWithdraw = $total->Withdraw;
+                    }
+                }
+            }
             $phones = array_filter(array_column($page->items(), 'PhoneNum'));
             $emails = array_filter(array_column($page->items(), 'EmailAddress'));
             $phoneRWs = [];

+ 2 - 2
resources/views/admin/win_lose_rank/index.blade.php

@@ -48,7 +48,7 @@
                                                 <td>{{ $row->GameID }}</td>
                                                 <td>{{ ($row->WinScore - $row->LostScore)/\App\Http\helper\NumConfig::NUM_VALUE }}</td>
                                                 <td>{{ $row->TotalBet ? ($row->WinScore - $row->LostScore)/$row->TotalBet : 0 }}</td>
-                                                <td>{{ $row->Recharge - $row->Withdraw/\App\Http\helper\NumConfig::NUM_VALUE }}</td>
+                                                <td>{{ $row->TotalRecharge - $row->TotalWithdraw/\App\Http\helper\NumConfig::NUM_VALUE }}</td>
                                                 <td>{{ $row->sameRW }}</td>
                                                 <td>{{ $row->KindID == 0 ? '离线' : $gameServerNames[$row->KindID] ?? '' }}</td>
                                             </tr>
@@ -56,7 +56,7 @@
                                     </tbody>
                                 </table>
                                 <div class="box-footer clearfix">
-                                    {{ trans('messages.总共') }} <b>{{ $list->total() }}</b> {{ trans('messages.条,分为') }}<b>{{ $list->lastPage() }}</b> {{ trans('messages.页') }}
+                                    {{ trans('messages.总共') }} <b>{{ $list->appends($request->all())->total() }}</b> {{ trans('messages.条,分为') }}<b>{{ $list->lastPage() }}</b> {{ trans('messages.页') }}
                                     {!! $list->links() !!}
                                 </div>
                         </div>