@Query(value="select g.steam_id from Gametime g where g.connect_ip in (select gg.connect_ip from Gametime gg where gg.account_id = :account_id and gg.connect_ip not like '10.%' group by gg.connect_ip, gg.id order by gg.id) group by g.steam_id")
returnjdbcTemplate_ro.query("SELECT discord_id, extract(epoch from timestamp) as utime, active FROM steam2discord WHERE steam_id LIKE ? GROUP BY discord_id, active, timestamp",
returnjdbcTemplate_ro.query("SELECT discord_id, extract(epoch from timestamp) as utime, active FROM steam2discord WHERE steam_id = ? GROUP BY discord_id, active, timestamp",
//SELECT CONCAT(SUBSTRING_INDEX(connect_ip,'.', 1),'.',SUBSTRING_INDEX(SUBSTRING_INDEX(connect_ip,'.', 2),'.',-1),'.',SUBSTRING_INDEX(SUBSTRING_INDEX(connect_ip,'.', 3),'.',-1),'.','%') FROM all_users_con_2 WHERE steam_id LIKE 'STEAM_0:1:768781968';
//SELECT CONCAT(SUBSTRING_INDEX(connect_ip,'.', 1),'.',SUBSTRING_INDEX(SUBSTRING_INDEX(connect_ip,'.', 2),'.',-1),'.',SUBSTRING_INDEX(SUBSTRING_INDEX(connect_ip,'.', 3),'.',-1),'.','%') FROM all_users_con_2 WHERE steam_id = 'STEAM_0:1:768781968';
returnjdbcTemplate_rw.query("SELECT id FROM user_reports WHERE utime = ? AND srv LIKE ? AND online = ?",newObject[]{utime,server_id,player_count},(rs,n)->rs.getLong("id")).get(0);
returnjdbcTemplate_rw.query("SELECT id FROM user_reports WHERE utime = ? AND srv = ? AND online = ?",newObject[]{utime,server_id,player_count},(rs,n)->rs.getLong("id")).get(0);
returnjdbcTemplate_ro.query("SELECT COUNT(*) as c FROM user_reports WHERE a_steam2 LIKE ?",newObject[]{steamID.steam2},(rs,n)->rs.getLong("c")).get(0);
returnjdbcTemplate_ro.query("SELECT COUNT(*) as c FROM user_reports WHERE a_steam2 = ?",newObject[]{steamID.steam2},(rs,n)->rs.getLong("c")).get(0);
}
publiclonggetReportsCount(SteamIDsteamID){
returnjdbcTemplate_ro.query("SELECT COUNT(*) as c FROM user_reports WHERE r_steam2 LIKE ?",newObject[]{steamID.steam2},(rs,n)->rs.getLong("c")).get(0);
returnjdbcTemplate_ro.query("SELECT COUNT(*) as c FROM user_reports WHERE r_steam2 = ?",newObject[]{steamID.steam2},(rs,n)->rs.getLong("c")).get(0);
returnjdbcTemplate_ro.query("SELECT COUNT(*) as c FROM user_reports WHERE a_steam2 LIKE ? AND r_steam2 IS NULL",newObject[]{steamID.steam2},(rs,n)->rs.getLong("c")).get(0);
returnjdbcTemplate_ro.query("SELECT COUNT(*) as c FROM user_reports WHERE a_steam2 = ? AND r_steam2 IS NULL",newObject[]{steamID.steam2},(rs,n)->rs.getLong("c")).get(0);
returnjdbcTemplate.query("SELECT discord_id FROM sm_admins INNER JOIN steam2discord ON sm_admins.status LIKE ? AND (sm_admins.comment LIKE ? OR sm_admins.comment LIKE ?) AND sm_admins.identity = steam2discord.steam_id",
returnjdbcTemplate.query("SELECT discord_id FROM sm_admins INNER JOIN steam2discord ON sm_admins.status = ? AND (sm_admins.comment = ? OR sm_admins.comment = ?) AND sm_admins.identity = steam2discord.steam_id",
newObject[]{"VIP","Donate.User","f13bot.User"},
(rs,n)->rs.getLong("discord_id"));
}
// Список ид из дискорда кто имеет бесплатную випку
returnjdbcTemplate.query("SELECT discord_id FROM sm_admins INNER JOIN steam2discord ON sm_admins.status LIKE ? AND sm_admins.comment LIKE ? AND sm_admins.identity = steam2discord.steam_id",
returnjdbcTemplate.query("SELECT discord_id FROM sm_admins INNER JOIN steam2discord ON sm_admins.status = ? AND sm_admins.comment = ? AND sm_admins.identity = steam2discord.steam_id",
newObject[]{"VIP","f13bot.FreeVIP"},
(rs,n)->rs.getLong("discord_id"));
}
// Транзакция, проверка и удаление випок подшедших к концу
publicintremoveEndedVIPs(){
List<SteamID>steamid2remove=jdbcTemplate.query("SELECT identity FROM sm_admins WHERE NOT extract(epoch from reg_date) = 0 AND amount != 0 AND status LIKE ? AND ((extract(epoch from now()) - extract(epoch from reg_date)) > amount)",
List<SteamID>steamid2remove=jdbcTemplate.query("SELECT identity FROM sm_admins WHERE NOT extract(epoch from reg_date) = 0 AND amount != 0 AND status = ? AND ((extract(epoch from now()) - extract(epoch from reg_date)) > amount)",
intremoved_vips=jdbcTemplate.update("DELETE FROM sm_admins WHERE NOT extract(epoch from reg_date) = 0 AND amount != 0 AND status LIKE ? AND ((extract(epoch from now()) - extract(epoch from reg_date)) > amount)",
intremoved_vips=jdbcTemplate.update("DELETE FROM sm_admins WHERE NOT extract(epoch from reg_date) = 0 AND amount != 0 AND status = ? AND ((extract(epoch from now()) - extract(epoch from reg_date)) > amount)",
@ -26,7 +26,7 @@ public class CountriesUpdater extends BaseUpdater{
@Value("${backend.updates.countries}")
privatebooleanupdate;
privatefinalStringcountries_in_current_year="SELECT connect_ip FROM user_connections WHERE connection_type LIKE 'connect' AND timestamp > date_trunc('YEAR',now())::DATE group by connect_ip";
privatefinalStringcountries_in_current_year="SELECT connect_ip FROM user_connections WHERE connection_type = 'connect' AND timestamp > date_trunc('YEAR',now())::DATE group by connect_ip";
@ -124,7 +124,7 @@ GROUP BY ts, server_id) as s group by s.ts order by s.ts desc limit ?
returnjdbcTemplate_ro.query("select round(sum(sub.player_count))::int as player_count, sub.ts as fulldate from ("+
"SELECT round(avg(player_count), 4) as player_count, date_bin('"+minutes+" minutes'"+",to_timestamp(utime)::timestamp, '2001-01-01 00:02:30') as ts "+
"FROM servers_online "+
"WHERE utime >= ? and (? = 0 or server_id like ?) "+
"WHERE utime >= ? and (? = 0 or server_id = ?) "+
"GROUP BY ts, server_id) sub GROUP BY sub.ts ",
newObject[]{
utime,
@ -235,7 +235,7 @@ GROUP BY ts, server_id) as s group by s.ts order by s.ts desc limit ?
}
//stats per 5 = '500' minutes
//SELECT avg(player_count) as player_count, FROM_UNIXTIME(utime) as fulldate, utime as ts FROM servers_online WHERE server_id like 'srv5' and FROM_UNIXTIME(utime) > CAST(DATE_FORMAT(NOW() ,'%Y-%m-26') as DATE) GROUP BY FROM_UNIXTIME(utime) div 500 ORDER BY ts ASC;
//SELECT avg(player_count) as player_count, FROM_UNIXTIME(utime) as fulldate, utime as ts FROM servers_online WHERE server_id = 'srv5' and FROM_UNIXTIME(utime) > CAST(DATE_FORMAT(NOW() ,'%Y-%m-26') as DATE) GROUP BY FROM_UNIXTIME(utime) div 500 ORDER BY ts ASC;
@ -244,7 +244,7 @@ GROUP BY ts, server_id) as s group by s.ts order by s.ts desc limit ?
}
//SELECT avg(player_count) as player_count, FROM_UNIXTIME(utime) as fulldate, utime as ts FROM servers_online WHERE player_count != 0 and server_id like 'srv5' GROUP BY FROM_UNIXTIME(utime) div 800000 ORDER BY ts ASC;
//SELECT avg(player_count) as player_count, FROM_UNIXTIME(utime) as fulldate, utime as ts FROM servers_online WHERE player_count != 0 and server_id = 'srv5' GROUP BY FROM_UNIXTIME(utime) div 800000 ORDER BY ts ASC;
@ -26,10 +26,10 @@ public class UniqueUpdater extends BaseUpdater{
@Qualifier("jt_ro")
privateJdbcTemplatejdbcTemplate;
privatefinalStringquery_total="SELECT account_id FROM user_connections WHERE srv_id like '%s' AND connection_type LIKE 'disconnect' AND connect_duration > 300 group by account_id";
privatefinalStringquery_day="SELECT account_id FROM user_connections WHERE srv_id like '%s' AND connection_type LIKE 'disconnect' AND connect_duration > 300 AND timestamp > date_trunc('DAY',now())::DATE group by account_id";
privatefinalStringquery_month="SELECT account_id FROM user_connections WHERE srv_id like '%s' AND connection_type LIKE 'disconnect' AND connect_duration > 300 AND timestamp > date_trunc('MONTH',now())::DATE group by account_id";
privatefinalStringquery_year="SELECT account_id FROM user_connections WHERE srv_id like '%s' AND connection_type LIKE 'disconnect' AND connect_duration > 300 AND timestamp > date_trunc('YEAR',now())::DATE group by account_id";
privatefinalStringquery_total="SELECT account_id FROM user_connections WHERE srv_id = '%s' AND connection_type = 'disconnect' AND connect_duration > 300 group by account_id";
privatefinalStringquery_day="SELECT account_id FROM user_connections WHERE srv_id = '%s' AND connection_type = 'disconnect' AND connect_duration > 300 AND timestamp > date_trunc('DAY',now())::DATE group by account_id";
privatefinalStringquery_month="SELECT account_id FROM user_connections WHERE srv_id = '%s' AND connection_type = 'disconnect' AND connect_duration > 300 AND timestamp > date_trunc('MONTH',now())::DATE group by account_id";
privatefinalStringquery_year="SELECT account_id FROM user_connections WHERE srv_id = '%s' AND connection_type = 'disconnect' AND connect_duration > 300 AND timestamp > date_trunc('YEAR',now())::DATE group by account_id";
@ -57,7 +57,7 @@ public class VipCountUpdater extends BaseUpdater{
publicbooleanUpdateVIPCount(){
logger.info("Update current active VIP profiles");
Longcount=jdbcTemplate.query("SELECT COUNT(*) as count FROM sm_admins WHERE status LIKE 'VIP' AND (comment LIKE 'Donate.User' OR comment LIKE 'f13bot.User')",
Longcount=jdbcTemplate.query("SELECT COUNT(*) as count FROM sm_admins WHERE status = 'VIP' AND (comment = 'Donate.User' OR comment = 'f13bot.User')",