|
|
@@ -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 = [];
|