Skip to content
Snippets Groups Projects
Commit e3111e9b authored by Drahomír Karchňák's avatar Drahomír Karchňák
Browse files

#429 Rank Processing Scripts now use application version code to get appropriate games only.

parent 0fd1941b
No related branches found
No related tags found
No related merge requests found
......@@ -31,8 +31,7 @@ import cz.nic.tablexia.shared.model.User;
* Created by drahomir on 8/11/16.
*/
public enum RankProcessingScript {
//TODO - Edit version number
AllVersions(0); //All versions
AllVersions(Game.DEFAULT_APPLICATION_VERSION_CODE); //All versions
long minorVersion, majorVersion;
......@@ -95,7 +94,7 @@ public enum RankProcessingScript {
protected List<Game> prepareGames(User user) {
//TODO return GameDAO.selectUserGamesForRankManager(user.getId(), this.minorVersion, this.majorVersion);
return GameDAO.selectUserGamesForRankManager(user.getId());
return GameDAO.selectUserGamesForRankManager(user.getId(), this.minorVersion, this.majorVersion);
}
protected void beforeRankCompute(User user, UserRankManager.RankComputeData rankComputeData, List<Game> games) {}
......
......@@ -197,7 +197,7 @@ public class GameDAO {
public static final String GAME_SELECT_LAST_SCORES_FOR_USER_AND_GAME = "SELECT value FROM game_score INNER JOIN game ON game_score.game_id=game.id AND game.user_id=? AND game.game_number=? WHERE game_score.key=? AND end_time IS NOT NULL ORDER BY game_id DESC LIMIT 1";
public static final String GAME_SELECT_FOR_RANK_MANAGER = "SELECT " + GAME_SELECT_COLUMNS + " FROM game WHERE user_id = ? AND start_time IS NOT NULL AND start_time != 0 AND end_time IS NOT NULL AND end_time != 0 ORDER BY end_time ASC";
public static final String GAME_SELECT_FOR_RANK_MANAGER = "SELECT " + GAME_SELECT_COLUMNS + " FROM game WHERE user_id = ? AND application_version_code >= ? AND application_version_code <= ? AND start_time IS NOT NULL AND start_time != 0 AND end_time IS NOT NULL AND end_time != 0 ORDER BY end_time ASC";
// classic statements
public static final String IMPORT_GAME_INSERT = "INSERT INTO game (user_id, difficulty_number, game_number, random_seed, start_time, end_time, locale, application_version_name, application_version_code, model_version_name, model_version_code, build_type, platform, hw_serial_number, sync_at) VALUES (%d, %d, %d, %d, '%s', '%s', %d, '%s', %d, '%s', %d, %d, %d, '%s', %d)";
......@@ -351,11 +351,13 @@ public class GameDAO {
return games;
}
public static List<Game> selectUserGamesForRankManager(long userId) {
public static List<Game> selectUserGamesForRankManager(long userId, long minorVersion, long majorVersion) {
List<Game> games = new ArrayList<Game>();
try {
PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(GAME_SELECT_FOR_RANK_MANAGER);
statement.setLong(1, userId);
statement.setLong(2, minorVersion);
statement.setLong(3, majorVersion);
try {
ResultSet resultSet = statement.executeQuery();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment