diff --git a/src/main/java/app/updates/OnlineUpdater.java b/src/main/java/app/updates/OnlineUpdater.java index 7ae3060..46fbe22 100644 --- a/src/main/java/app/updates/OnlineUpdater.java +++ b/src/main/java/app/updates/OnlineUpdater.java @@ -101,32 +101,17 @@ public class OnlineUpdater extends BaseUpdater { return current_day_max_player_count; } - - - public List getMaxPeakOfDays(String server_id, int limit) { - return jdbcTemplate_ro.query(""" -SELECT round(sum(s.player_count))::int as player_count, s.ts as fl FROM ( -SELECT round(max(player_count), 4) as player_count, to_timestamp(utime)::date as ts -FROM servers_online -WHERE (? = 0 or server_id like ?) and player_count != 0 -GROUP BY ts, server_id) as s group by s.ts order by s.ts desc limit ? -""", - new Object[]{ - server_id==null||server_id.isEmpty()?0:1, - server_id==null||server_id.isEmpty()?"%":server_id, - limit}, - (rs, rowNum) -> new MaxPeakOfDay(rs)); - } - public List getAvgPeakOfDays(String server_id, int limit) { + long ts = Instant.now().getEpochSecond() - (86400L * (limit + 1)); return jdbcTemplate_ro.query(""" SELECT round(sum(s.player_count))::int as player_count, s.ts as fl FROM ( -SELECT round(avg(player_count), 4) as player_count, to_timestamp(utime)::date as ts +SELECT avg(player_count) as player_count, to_timestamp(utime)::date as ts FROM servers_online -WHERE (? = 0 or server_id like ?) and player_count != 0 +WHERE (utime >= ?) and (? = 0 or server_id like ?) and player_count != 0 GROUP BY ts, server_id) as s group by s.ts order by s.ts desc limit ? """, new Object[]{ + ts, server_id==null||server_id.isEmpty()?0:1, server_id==null||server_id.isEmpty()?"%":server_id, limit},