diff --git a/Application/Home/Controller/QueryController.class.php b/Application/Home/Controller/QueryController.class.php index 88607f2be..700c7a60e 100644 --- a/Application/Home/Controller/QueryController.class.php +++ b/Application/Home/Controller/QueryController.class.php @@ -1678,16 +1678,8 @@ class QueryController extends BaseController } if ($relationGameId != 0 || $sdkVersion != 0) { - if ($relationGameId != 0) { - $gameMap['relation_game_id'] = $relationGameId; - } - if ($sdkVersion != 0) { - $gameMap['sdk_version'] = $sdkVersion; - } - $gameId = M('game', 'tab_')->where($gameMap)->getField('id', true); - $gameId = $gameId ?? []; - - $map['game_id'] = ['in', $gameId]; + $gameIds = gameSearch($relationGameId, $sdkVersion); + $map['game_id'] = ['in', $gameIds]; } if ($serverId != 0) { $map['server_id'] = $serverId; @@ -1793,17 +1785,9 @@ class QueryController extends BaseController $subMap = ['promote_id' => ['in', $ids]]; if ($relationGameId != 0 || $sdkVersion != 0) { - if ($relationGameId != 0) { - $gameMap['relation_game_id'] = $relationGameId; - } - if ($sdkVersion != 0) { - $gameMap['sdk_version'] = $sdkVersion; - } - $gameId = M('game', 'tab_')->where($gameMap)->getField('id', true); - $gameId = $gameId ?? []; - - $map['uc.game_id'] = ['in', $gameId]; - $subMap['game_id'] = ['in', $gameId]; + $gameIds = gameSearch($relationGameId, $sdkVersion); + $map['uc.game_id'] = ['in', $gameIds]; + $subMap['game_id'] = ['in', $gameIds]; } if ($serverId != 0) { $map['uc.server_id'] = $serverId; @@ -1875,7 +1859,7 @@ class QueryController extends BaseController ->field($field) ->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and ui.role_id = uc.role_id') ->where($map) - ->group('uc.role_id,uc.game_id,uc.user_id,uc.id') + ->group('uc.role_id,uc.game_id,uc.user_id') ->buildSql(); $query = M()->alias('record') ->table($subQuery) @@ -1886,7 +1870,7 @@ class QueryController extends BaseController $totalQuery = M('user_play_data_count', 'tab_')->alias('uc') ->field($fieldUC) ->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and uc.server_id = ui.server_id and ui.role_id = uc.role_id') - ->group('uc.role_id,uc.game_id,uc.server_id,uc.user_id,uc.id') + ->group('uc.role_id,uc.game_id,uc.server_id,uc.user_id') ->where($map) ->buildSql(); $total = M()->alias('totals') @@ -2081,16 +2065,8 @@ class QueryController extends BaseController 'basicPromotes' => $basicPromotes, ]; if ($relationGameId != 0 || $sdkVersion != 0) { - if ($relationGameId != 0) { - $gameMap['relation_game_id'] = $relationGameId; - } - if ($sdkVersion != 0) { - $gameMap['sdk_version'] = $sdkVersion; - } - $gameId = M('game', 'tab_')->where($gameMap)->getField('id', true); - $gameId = $gameId ?? []; - - $params['game_id'] = ['in', $gameId]; + $gameIds = gameSearch($relationGameId, $sdkVersion); + $params['game_id'] = ['in', $gameIds]; } if ($serverId > 0) { $params['server_id'] = $serverId;