|
|
|
@ -101,32 +101,17 @@ public class OnlineUpdater extends BaseUpdater { |
|
|
|
return current_day_max_player_count; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<MaxPeakOfDay> 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<AvgPeakOfDay> 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}, |
|
|
|
|