From de1243870ac6d4b78dc9dbe06998a2f0d3edd578 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sat, 10 Oct 2020 23:49:12 +0200 Subject: [PATCH] Changed SQL Statement --- .../bungeecore/commands/WhoisCommand.java | 55 +------------------ .../steamwar/bungeecore/sql/SteamwarUser.java | 16 +++--- 2 files changed, 10 insertions(+), 61 deletions(-) diff --git a/src/de/steamwar/bungeecore/commands/WhoisCommand.java b/src/de/steamwar/bungeecore/commands/WhoisCommand.java index 11d93bf..75a4e87 100644 --- a/src/de/steamwar/bungeecore/commands/WhoisCommand.java +++ b/src/de/steamwar/bungeecore/commands/WhoisCommand.java @@ -26,6 +26,8 @@ import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.connection.ProxiedPlayer; +import java.text.DecimalFormat; + public class WhoisCommand extends BasicCommand { public WhoisCommand(){ super("whois", "bungeecore.teamchat"); @@ -51,7 +53,7 @@ public class WhoisCommand extends BasicCommand { BungeeCore.send(player, "§7Username§8: §e" + user.getUserName()); BungeeCore.send(player, "§7UUID§8: §e" + user.getUuid().toString(), "", new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, user.getUuid().toString())); BungeeCore.send(player, "§7ID§8: §e" + user.getId()); - BungeeCore.send(player, "§7Online Time§8: §e" + parseTime(user.getOnlinetime())); + BungeeCore.send(player, "§7Online Time§8: §e" + new DecimalFormat("###.##").format(user.getOnlinetime() / (double) 3600) + "h"); Team team = Team.get(user.getTeam()); BungeeCore.send(player, "§7Team§8: §e" + team.getTeamName()); @@ -63,55 +65,4 @@ public class WhoisCommand extends BasicCommand { player.sendMessage(user.muteMessage()); } } - - public static String parseTime(int seconds) { - if (seconds < 60) { - return seconds + "s"; - } - int minutes = seconds / 60; - int s = 60 * minutes; - int secondsLeft = seconds - s; - if (minutes < 60) { - if (secondsLeft > 0) { - return String.valueOf(minutes + "m" + " " + secondsLeft + "s"); - } - return String.valueOf(minutes + "m"); - } - if (minutes < 1440) { - String time = ""; - int hours = minutes / 60; - time = hours + "h"; - int inMins = 60 * hours; - int leftOver = minutes - inMins; - if (leftOver >= 1) { - time = time + " " + leftOver + "m"; - } - if (secondsLeft > 0) { - time = time + " " + secondsLeft + "s"; - } - return time; - } - String time = ""; - int days = minutes / 1440; - time = days + "d"; - int inMins = 1440 * days; - int leftOver = minutes - inMins; - if (leftOver >= 1) { - if (leftOver < 60) { - time = time + " " + leftOver + "m"; - } else { - int hours = leftOver / 60; - time = time + " " + hours + "h"; - int hoursInMins = 60 * hours; - int minsLeft = leftOver - hoursInMins; - if (leftOver >= 1) { - time = time + " " + minsLeft + "m"; - } - } - } - if (secondsLeft > 0) { - time = time + " " + secondsLeft + "s"; - } - return time; - } } diff --git a/src/de/steamwar/bungeecore/sql/SteamwarUser.java b/src/de/steamwar/bungeecore/sql/SteamwarUser.java index dc68f52..86bc27c 100644 --- a/src/de/steamwar/bungeecore/sql/SteamwarUser.java +++ b/src/de/steamwar/bungeecore/sql/SteamwarUser.java @@ -234,16 +234,14 @@ public class SteamwarUser { } } - public int getOnlinetime() { - ResultSet set = SQL.select("SELECT StartTime, EndTime FROM Session WHERE UserID = ?", id); - long mili = 0; + public double getOnlinetime() { + ResultSet set = SQL.select("SELECT SUM(UNIX_TIMESTAMP(EndTime) - UNIX_TIMESTAMP(StartTime)) as Playtime FROM Session WHERE UserID = ?", id); try { - while (set.next()) { - mili += (set.getTimestamp("EndTime").getTime() - set.getTimestamp("StartTime").getTime()); - } - }catch (SQLException e){ - e.printStackTrace(); + set.next(); + return set.getBigDecimal("Playtime").doubleValue(); + } catch (SQLException throwables) { + throwables.printStackTrace(); } - return (int) (mili / 1000); + return 0; } }