fixed future handling in message cache, so methods return futures instead of requiring them as parameters

and adapted the code using this
fixed config loading still relying on double, where the values were changed to long
This commit is contained in:
Sheldan
2020-05-12 09:32:18 +02:00
parent 1634f5e9cc
commit 8d8f735672
7 changed files with 31 additions and 32 deletions

View File

@@ -140,9 +140,9 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
public void handleExperienceGain(List<AServer> servers) {
servers.forEach(serverExp -> {
log.trace("Handling experience for server {}", serverExp.getId());
int minExp = configService.getDoubleValue("minExp", serverExp.getId()).intValue();
int maxExp = configService.getDoubleValue("maxExp", serverExp.getId()).intValue();
Integer multiplier = configService.getDoubleValue("expMultiplier", serverExp.getId()).intValue();
int minExp = configService.getLongValue("minExp", serverExp.getId()).intValue();
int maxExp = configService.getLongValue("maxExp", serverExp.getId()).intValue();
Double multiplier = configService.getDoubleValue("expMultiplier", serverExp.getId());
PrimitiveIterator.OfInt iterator = new Random().ints(serverExp.getUsers().size(), minExp, maxExp + 1).iterator();
List<AExperienceLevel> levels = experienceLevelManagementService.getLevelConfig();
levels.sort(Comparator.comparing(AExperienceLevel::getExperienceNeeded));
@@ -150,7 +150,7 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
roles.sort(Comparator.comparing(role -> role.getLevel().getLevel()));
serverExp.getUsers().forEach(userInAServer -> {
Integer gainedExperience = iterator.next();
gainedExperience *= multiplier;
gainedExperience = (int) Math.floor(gainedExperience * multiplier);
log.trace("Handling {}. The user gains {}", userInAServer.getUserReference().getId(), gainedExperience);
AUserExperience aUserExperience = userExperienceManagementService.incrementExpForUser(userInAServer, gainedExperience.longValue(), 1L);
updateUserlevel(aUserExperience, levels);

View File

@@ -111,8 +111,8 @@ public class WarnServiceBean implements WarnService {
@Override
@Transactional
public void decayWarningsForServer(AServer server) {
Double days = configService.getDoubleValue("decayDays", server.getId());
Instant cutOffDay = Instant.now().minus(days.longValue(), ChronoUnit.DAYS);
Long days = configService.getLongValue("decayDays", server.getId());
Instant cutOffDay = Instant.now().minus(days, ChronoUnit.DAYS);
List<Warning> warningsToDecay = warnManagementService.getActiveWarningsInServerOlderThan(server, cutOffDay);
decayWarnings(warningsToDecay);
logDecayedWarnings(server, warningsToDecay);

View File

@@ -77,7 +77,7 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
if(reaction != null) {
AUserInAServer author = userInServerManagementService.loadUser(message.getServerId(), message.getAuthorId());
List<AUserInAServer> userExceptAuthor = getUsersExcept(reaction.getUserInServersIds(), author);
Double starMinimum = getFromConfig("starLvl1", message.getServerId());
Long starMinimum = getFromConfig("starLvl1", message.getServerId());
if (userExceptAuthor.size() >= starMinimum) {
log.info("Post reached starboard minimum. Message {} in channel {} in server {} will be starred/updated.",
message.getMessageId(), message.getChannelId(), message.getServerId());
@@ -133,8 +133,8 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
}
}
private Double getFromConfig(String key, Long guildId) {
return configManagementService.loadConfig(guildId, key).getDoubleValue();
private Long getFromConfig(String key, Long guildId) {
return configManagementService.loadConfig(guildId, key).getLongValue();
}
private List<AUserInAServer> getUsersExcept(List<Long> users, AUserInAServer author) {

View File

@@ -208,7 +208,7 @@ public class StarboardServiceBean implements StarboardService {
private String getAppropriateEmote(Long serverId, Integer starCount) {
for(int i = starboardConfig.getLvl().size(); i > 0; i--) {
Double starMinimum = configService.getDoubleValue("starLvl" + i, serverId);
Long starMinimum = configService.getLongValue("starLvl" + i, serverId);
if(starCount >= starMinimum) {
return emoteService.getUsableEmoteOrDefault(serverId, "star" + i);
}