diff --git a/src/main/java/net/Broken/RestApi/MusicWebAPIController.java b/src/main/java/net/Broken/RestApi/MusicWebAPIController.java index 7393f0b..6dfad22 100644 --- a/src/main/java/net/Broken/RestApi/MusicWebAPIController.java +++ b/src/main/java/net/Broken/RestApi/MusicWebAPIController.java @@ -159,12 +159,9 @@ public class MusicWebAPIController { logger.info("Receive command " + data.command + " from " + request.getRemoteAddr() + " USER: " + user.getName() + " GUILD: " + guild.getName()); if (ApiCommandLoader.apiCommands.containsKey(data.command)) { - try { - UserStatsUtils.getINSTANCE().addApiCount(user, guildId); - }catch (IndexOutOfBoundsException e){ - logger.catching(e); - } + UserStatsUtils.getINSTANCE().addApiCount(user, guildId); + return ApiCommandLoader.apiCommands.get(data.command).action(data, MainBot.jda.getUserById(user.getJdaId()), guild); } else diff --git a/src/main/java/net/Broken/Tools/UserManager/UserStatsUtils.java b/src/main/java/net/Broken/Tools/UserManager/UserStatsUtils.java index d1eb0ab..1333c9d 100644 --- a/src/main/java/net/Broken/Tools/UserManager/UserStatsUtils.java +++ b/src/main/java/net/Broken/Tools/UserManager/UserStatsUtils.java @@ -12,7 +12,6 @@ import net.dv8tion.jda.core.entities.Member; import net.dv8tion.jda.core.entities.User; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.hibernate.Hibernate; import org.springframework.context.ApplicationContext; import org.springframework.security.crypto.password.PasswordEncoder; @@ -45,15 +44,15 @@ public class UserStatsUtils { } public List getUserStats(UserEntity userEntity){ - logger.debug(userEntity.getUserStats()); - logger.debug(userEntity.getUserStats().size()); - if(userEntity.getUserStats() == null || userEntity.getUserStats().size() == 0){ + User jdaUser = MainBot.jda.getUserById(userEntity.getJdaId()); + if(userEntity.getUserStats() == null || userEntity.getUserStats().size() == 0 || userEntity.getUserStats().size() != jdaUser.getMutualGuilds().size()){ logger.debug("Stats not found for " + userEntity.getName()); User user = MainBot.jda.getUserById(userEntity.getJdaId()); if(user == null) return null; List stats = new ArrayList<>(); for(Guild guid : user.getMutualGuilds()){ + logger.debug(guid.getName()); stats.add(new UserStats(guid.getId(), userEntity)); } stats = (List) userStatsRepository.save(stats); @@ -92,7 +91,6 @@ public class UserStatsUtils { userEntity = userEntityList.get(0); List userStatsList = userStatsRepository.findByUserAndGuildId(userEntity, member.getGuild().getId()); - logger.debug("First: " + userStatsList.size()); if(userStatsList.size() == 0){ getUserStats(userEntity); userStatsList = userStatsRepository.findByUserAndGuildId(userEntity, member.getGuild().getId()); @@ -109,8 +107,7 @@ public class UserStatsUtils { List userStatsList = userStatsRepository.findByUserAndGuildId(userEntity, guildId); - logger.debug("First: " + userStatsList.size()); - if(userStatsList.size() == 0){ + if(userStatsRepository.findByUserAndGuildId(userEntity, guildId).size() == 0){ getUserStats(userEntity); userStatsList = userStatsRepository.findByUserAndGuildId(userEntity, guildId); }