[AB-xxx] not always creating a user instance in the experience listener

adding logging in case the warn decay notification fails
This commit is contained in:
Sheldan
2021-08-21 15:50:11 +02:00
parent 19a4858da1
commit 2c31fa1c1e
2 changed files with 13 additions and 11 deletions

View File

@@ -37,16 +37,18 @@ public class JoiningUserRoleListener implements AsyncJoinListener {
@Override @Override
public DefaultListenerResult execute(MemberJoinModel model) { public DefaultListenerResult execute(MemberJoinModel model) {
AUserInAServer userInAServer = userInServerManagementService.loadOrCreateUser(model.getServerId(), model.getJoiningUser().getUserId()); Optional<AUserInAServer> userInAServerOptional = userInServerManagementService.loadUserOptional(model.getServerId(), model.getJoiningUser().getUserId());
Optional<AUserExperience> userExperienceOptional = userExperienceManagementService.findByUserInServerIdOptional(userInAServer.getUserInServerId()); userInAServerOptional.ifPresent(aUserInAServer -> {
if(userExperienceOptional.isPresent()) { Optional<AUserExperience> userExperienceOptional = userExperienceManagementService.findByUserInServerIdOptional(aUserInAServer.getUserInServerId());
log.info("User {} joined {} with previous experience. Setting up experience role again (if necessary).", model.getJoiningUser().getUserId(), model.getServerId()); if(userExperienceOptional.isPresent()) {
userExperienceService.syncForSingleUser(userExperienceOptional.get()).thenAccept(result -> log.info("User {} joined {} with previous experience. Setting up experience role again (if necessary).", model.getJoiningUser().getUserId(), model.getServerId());
log.info("Finished re-assigning experience for re-joining user {} in server {}.", model.getJoiningUser().getUserId(), model.getServerId()) userExperienceService.syncForSingleUser(userExperienceOptional.get()).thenAccept(result ->
); log.info("Finished re-assigning experience for re-joining user {} in server {}.", model.getJoiningUser().getUserId(), model.getServerId())
} else { );
log.info("Joined user {} in server {} does not have any previous experience. Not setting up anything.", model.getJoiningUser().getUserId(), model.getServerId()); } else {
} log.info("Joined user {} in server {} does not have any previous experience. Not setting up anything.", model.getJoiningUser().getUserId(), model.getServerId());
}
});
return DefaultListenerResult.PROCESSED; return DefaultListenerResult.PROCESSED;
} }

View File

@@ -188,7 +188,7 @@ public class WarnServiceBean implements WarnService {
MessageToSend messageToSend = templateService.renderEmbedTemplate(WARN_DECAY_NOTIFICATION_TEMPLATE_KEY, model, serverId); MessageToSend messageToSend = templateService.renderEmbedTemplate(WARN_DECAY_NOTIFICATION_TEMPLATE_KEY, model, serverId);
log.info("Notifying user {} in server {} about decayed warning {}.", userId, serverId, warningId); log.info("Notifying user {} in server {} about decayed warning {}.", userId, serverId, warningId);
notificationFutures.add(messageService.sendMessageToSendToUser(memberToSendTo.getUser(), messageToSend).exceptionally(throwable -> { notificationFutures.add(messageService.sendMessageToSendToUser(memberToSendTo.getUser(), messageToSend).exceptionally(throwable -> {
log.error("Failed to send warn decay message to user {} in server {} to notify about decay warning {}.", userId, server, warningId); log.error("Failed to send warn decay message to user {} in server {} to notify about decay warning {}.", userId, server.getId(), warningId, throwable);
return null; return null;
})); }));
} else { } else {