Browse Source

minifixes

master
gsd 5 days ago
parent
commit
92f969af9a
  1. 4
      src/main/java/app/entities/report/ReportBody.java
  2. 12
      src/main/java/app/services/ProfileService.java
  3. 9
      src/main/java/app/services/db/DiscordAuthService.java
  4. 3
      src/main/java/app/services/db/ReportService.java
  5. 2
      src/main/java/app/services/db/UsertimeService.java
  6. 4
      src/main/java/app/services/db/exceptions/PlayerOnServerMissing.java
  7. 3
      src/main/java/app/websocket/handlers/ServersHandler.java

4
src/main/java/app/entities/report/ReportBody.java

@ -7,4 +7,8 @@ public class ReportBody {
private String author_steam64; private String author_steam64;
private String reported_steam64 = null; private String reported_steam64 = null;
private String reason; private String reason;
public String getReason() {
return reason == null ? "" : reason;
}
} }

12
src/main/java/app/services/ProfileService.java

@ -307,11 +307,13 @@ public class ProfileService {
} }
public SteamID GetSteamIDFromAnyData(String any) { public SteamID GetSteamIDFromAnyData(String any) {
if (any == null || any.isEmpty()) return null;
SteamID result; SteamID result;
//Проверить что это дискорд ид //Проверить что это дискорд ид
if (any.startsWith("<@") && any.endsWith(">")) { if (any.startsWith("<@") && any.endsWith(">")) {
String discord_id = any.split("<@", 2)[1].split(">", 2)[0]; String discord_id = any.split("<@", 2)[1].split(">", 2)[0];
result = discordAuthService.getSteamIDofDiscordID(discord_id); result = discordAuthService.getSteamIDofDiscordID(discord_id.trim());
if (result != null) return result; if (result != null) return result;
} }
//Проверить не играет ли чел с таким именем на сервере //Проверить не играет ли чел с таким именем на сервере
@ -320,19 +322,19 @@ public class ProfileService {
//Проверить возможно что это ид бана //Проверить возможно что это ид бана
if (any.startsWith("#")) { if (any.startsWith("#")) {
String[] splitted = any.split("#", 2); String[] splitted = any.split("#", 2);
int ban_id = Integer.parseInt(splitted[1]); int ban_id = Integer.parseInt(splitted[1].trim());
Ban ban = banService.getBan(ban_id); Ban ban = banService.getBan(ban_id);
if(ban != null) result = SteamIDConverter.getSteamID(ban.getSteam_id()); if(ban != null) result = SteamIDConverter.getSteamID(ban.getSteam_id());
if (result != null) return result; if (result != null) return result;
} }
//Проверить что это инвайт в друзья //Проверить что это инвайт в друзья
result = SteamInviteConverter.getSteamID(any); result = SteamInviteConverter.getSteamID(any.trim());
if (result != null) return result; if (result != null) return result;
//Проверить что возможно это ссылка на стим профиль с именем //Проверить что возможно это ссылка на стим профиль с именем
result = steamWebApi.getSteamID(any); result = steamWebApi.getSteamID(any.trim());
if (result != null) return result; if (result != null) return result;
//Проверить что возможно это стим ид в любой интрапретации //Проверить что возможно это стим ид в любой интрапретации
result = SteamIDConverter.getSteamID(any); result = SteamIDConverter.getSteamID(any.trim());
if (result != null) return result; if (result != null) return result;
//Проверить что вводное это имя и проверить в БД //Проверить что вводное это имя и проверить в БД
result = usertimeService.getSteamOnUsername(any); result = usertimeService.getSteamOnUsername(any);

9
src/main/java/app/services/db/DiscordAuthService.java

@ -20,8 +20,15 @@ public class DiscordAuthService {
private HashMap<String, List<String>> processing_accounts = new HashMap<>(); private HashMap<String, List<String>> processing_accounts = new HashMap<>();
public SteamID getSteamIDofDiscordID(String discord_id) { public SteamID getSteamIDofDiscordID(String discord_id) {
Long discordId;
try {
discordId = Long.parseLong(discord_id);
} catch (NumberFormatException nfe) {
return null;
}
return jdbcTemplate.query("SELECT steam_id FROM steam2discord WHERE discord_id = ? AND active = 1 LIMIT 1", return jdbcTemplate.query("SELECT steam_id FROM steam2discord WHERE discord_id = ? AND active = 1 LIMIT 1",
new Object[]{ Long.parseLong(discord_id) }, new Object[]{ discordId },
(rs, n) -> SteamIDConverter.getSteamID(rs.getString("steam_id"))) (rs, n) -> SteamIDConverter.getSteamID(rs.getString("steam_id")))
.stream().findFirst().orElse(null); .stream().findFirst().orElse(null);
} }

3
src/main/java/app/services/db/ReportService.java

@ -11,6 +11,7 @@ import app.entities.server.players.RCONPlayer;
import app.entities.server.request.PlayerOnServer; import app.entities.server.request.PlayerOnServer;
import app.services.ProfileService; import app.services.ProfileService;
import app.services.StatsService; import app.services.StatsService;
import app.services.db.exceptions.PlayerOnServerMissing;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -67,8 +68,8 @@ public class ReportService {
PlayerOnServer reported_player = (PlayerOnServer) statsService.searchPlayer(reported_user); PlayerOnServer reported_player = (PlayerOnServer) statsService.searchPlayer(reported_user);
long utime = Instant.now().getEpochSecond(); long utime = Instant.now().getEpochSecond();
int player_count = stats.getServers().get(reported_user==null?current_user.getPlay_on().getServer_id():reported_user.getPlay_on().getServer_id()).getPlayer_count();
String server_id = reported_user==null?current_user.getPlay_on().getServer_id():reported_user.getPlay_on().getServer_id(); String server_id = reported_user==null?current_user.getPlay_on().getServer_id():reported_user.getPlay_on().getServer_id();
int player_count = stats.getServers().get(server_id).getPlayer_count();
jdbcTemplate_rw.update("INSERT INTO user_reports (a_nickname, a_steam2, a_permition, a_kills, a_deads, a_seconds, " + jdbcTemplate_rw.update("INSERT INTO user_reports (a_nickname, a_steam2, a_permition, a_kills, a_deads, a_seconds, " +
"r_nickname, r_steam2, r_permition, r_kills, r_deads, r_seconds, " + "r_nickname, r_steam2, r_permition, r_kills, r_deads, r_seconds, " +

2
src/main/java/app/services/db/UsertimeService.java

@ -115,7 +115,7 @@ public class UsertimeService {
} }
public SteamID getSteamOnUsername(String username) { public SteamID getSteamOnUsername(String username) {
return jdbcTemplate.query("SELECT account_id FROM user_connections WHERE player_name LIKE ? ORDER BY id DESC LIMIT 1", return jdbcTemplate.query("SELECT account_id FROM user_connections WHERE player_name = ? ORDER BY id DESC LIMIT 1",
new Object[]{ username }, new Object[]{ username },
(rs, n) -> SteamIDConverter.getSteamID("[U:1:%d]".formatted(rs.getInt("account_id")))) (rs, n) -> SteamIDConverter.getSteamID("[U:1:%d]".formatted(rs.getInt("account_id"))))
.stream().findFirst().orElse(null); .stream().findFirst().orElse(null);

4
src/main/java/app/services/db/exceptions/PlayerOnServerMissing.java

@ -0,0 +1,4 @@
package app.services.db.exceptions;
public class PlayerOnServerMissing extends RuntimeException {
}

3
src/main/java/app/websocket/handlers/ServersHandler.java

@ -19,11 +19,12 @@ import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Component @Component
public class ServersHandler extends TextWebSocketHandler implements BaseWebsocketHandler { public class ServersHandler extends TextWebSocketHandler implements BaseWebsocketHandler {
private final Logger logger = LoggerFactory.getLogger(getClass()); private final Logger logger = LoggerFactory.getLogger(getClass());
private final Map<String, WebSocketSession> activeSessions = new HashMap<>(); private final Map<String, WebSocketSession> activeSessions = new ConcurrentHashMap<>();
private ObjectMapper objectMapper = new ObjectMapper(); private ObjectMapper objectMapper = new ObjectMapper();
private Stats stats; private Stats stats;

Loading…
Cancel
Save