From 5021ada67f03921112819566a53e13a1fcb4e274 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 25 Aug 2019 11:18:15 +0300 Subject: [PATCH] Fixed multiples of same geolocation on player page --- .../com/djrapitops/plan/data/container/GeoInfo.java | 1 + .../db/access/queries/objects/GeoInfoQueries.java | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/data/container/GeoInfo.java b/Plan/common/src/main/java/com/djrapitops/plan/data/container/GeoInfo.java index 99da24f11..e2547ddfe 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/data/container/GeoInfo.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/data/container/GeoInfo.java @@ -89,6 +89,7 @@ public class GeoInfo implements DateHolder, Serializable { } } + @Deprecated public String getIp() { return ip; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/GeoInfoQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/GeoInfoQueries.java index fa46efb3e..4f4d06b7a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/GeoInfoQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/GeoInfoQueries.java @@ -86,8 +86,12 @@ public class GeoInfoQueries { * @return List of {@link GeoInfo}, empty if none are found. */ public static Query> fetchPlayerGeoInformation(UUID playerUUID) { - String sql = SELECT + DISTINCT + '*' + FROM + GeoInfoTable.TABLE_NAME + - WHERE + GeoInfoTable.USER_UUID + "=?"; + String sql = SELECT + + GeoInfoTable.GEOLOCATION + + ",MAX(" + GeoInfoTable.LAST_USED + ") as " + GeoInfoTable.LAST_USED + + FROM + GeoInfoTable.TABLE_NAME + + WHERE + GeoInfoTable.USER_UUID + "=?" + + GROUP_BY + GeoInfoTable.GEOLOCATION; return new QueryStatement>(sql, 100) { @Override @@ -99,10 +103,9 @@ public class GeoInfoQueries { public List processResults(ResultSet set) throws SQLException { List geoInfo = new ArrayList<>(); while (set.next()) { - String ip = set.getString(GeoInfoTable.IP); String geolocation = set.getString(GeoInfoTable.GEOLOCATION); long lastUsed = set.getLong(GeoInfoTable.LAST_USED); - geoInfo.add(new GeoInfo(ip, geolocation, lastUsed)); + geoInfo.add(new GeoInfo("", geolocation, lastUsed)); } return geoInfo; }