From 9408da9c2f19d0db32f90b7a434d9c98ad00c15b Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Thu, 10 Nov 2011 01:36:31 +0000 Subject: [PATCH] Adding games played count to login screen. --- .../com/gempukku/lotro/db/GameHistoryDAO.java | 27 +++++++++++++++++++ .../com/gempukku/lotro/game/LotroServer.java | 4 +++ .../gempukku/lotro/server/ServerResource.java | 4 ++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/GameHistoryDAO.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/GameHistoryDAO.java index 152236479..a051d00d6 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/GameHistoryDAO.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/GameHistoryDAO.java @@ -113,4 +113,31 @@ public class GameHistoryDAO { throw new RuntimeException("Unable to get count of player games", exp); } } + + public int getGamesPlayedCountInLastMs(long ms) { + try { + Connection connection = _dbAccess.getDataSource().getConnection(); + try { + PreparedStatement statement = connection.prepareStatement("select count(*) from game_history where end_date>=?"); + try { + statement.setLong(1, System.currentTimeMillis() - ms); + ResultSet rs = statement.executeQuery(); + try { + if (rs.next()) + return rs.getInt(1); + else + return -1; + } finally { + rs.close(); + } + } finally { + statement.close(); + } + } finally { + connection.close(); + } + } catch (SQLException exp) { + throw new RuntimeException("Unable to get count of games played", exp); + } + } } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java index 2b355c60c..01453a5f7 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java @@ -97,6 +97,10 @@ public class LotroServer extends AbstractServer { return _gameHistoryDao.getGameHistoryForPlayerCount(player); } + public int getGamesPlayedCountInLastMs(long ms) { + return _gameHistoryDao.getGamesPlayedCountInLastMs(ms); + } + public LotroCardBlueprintLibrary getLotroCardBlueprintLibrary() { return _lotroCardBlueprintLibrary; } diff --git a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java index e6b8d4056..aef5454ec 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java +++ b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/ServerResource.java @@ -734,7 +734,9 @@ public class ServerResource { sb.append(""); } else { sb.append("You are not logged in, log in below or ."); - sb.append("
Tables count: ").append(_hallServer.getTablesCount()).append(", players in hall: ").append(_chatServer.getChatRoom("Game Hall").getUsersInRoom().size()).append("
"); + sb.append("
Tables count: ").append(_hallServer.getTablesCount()).append(", players in hall: ").append(_chatServer.getChatRoom("Game Hall").getUsersInRoom().size()) + .append(", games played in last 24 hours: ").append(_lotroServer.getGamesPlayedCountInLastMs(1000 * 60 * 60 * 24)) + .append("
"); sb.append(getLoginHTML()); }