commit f25f5e50207ae1095b0bf52687e87acc96a73ab0
parent b82cea9789a7ff96a3fde96c0da5a1e421c32603
Author: Wim Dupont <wim@wimdupont.com>
Date: Sat, 1 Nov 2025 16:29:30 +0100
fix pvm auto adding duplicate discordId
Diffstat:
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleUserAutoAddService.java b/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleUserAutoAddService.java
@@ -11,6 +11,7 @@ import net.dv8tion.jda.api.entities.MessageEmbed.Field;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.stereotype.Service;
import java.awt.Color;
@@ -56,15 +57,20 @@ public class PvmRoleUserAutoAddService {
logger.warn("Multiple users found for rsn {}", membership.player().username());
}
if (!discordUsers.isEmpty()) {
- var pvmRoleUser = pvmRoleUserService.save(PvmRoleUser.Builder.newBuilder()
- .discordId(discordUsers.getFirst().getId())
- .rsn(membership.player().username())
- .build());
try {
- pvmRoleSnapshotComparatorService.takeSnapshot(channel, pvmRoleUser, true, true);
- } catch (EntityNotFoundException ex) {
- logger.error("No snapshot taken for {} : {}", pvmRoleUser, ex.getMessage());
- channel.sendMessage(String.format("Error whilst taking snapshot for %s.", pvmRoleUser.getRsn())).queue();
+ var pvmRoleUser = pvmRoleUserService.save(PvmRoleUser.Builder.newBuilder()
+ .discordId(discordUsers.getFirst().getId())
+ .rsn(membership.player().username())
+ .build());
+ try {
+ pvmRoleSnapshotComparatorService.takeSnapshot(channel, pvmRoleUser, true, true);
+ } catch (EntityNotFoundException ex) {
+ logger.error("No snapshot taken for {} : {}", pvmRoleUser, ex.getMessage());
+ channel.sendMessage(String.format("Error whilst taking snapshot for %s.", pvmRoleUser.getRsn())).queue();
+ }
+ } catch (DataIntegrityViolationException ex) {
+ logger.error("User ({}) not added with rsn {} : {}",
+ discordUsers.getFirst().getId(), membership.player().username(), ex.getMessage());
}
} else {
unknownList.add(membership.player().username());