Skip to content

Commit 3c5d4da

Browse files
Removed help transactions message
1 parent 6df9682 commit 3c5d4da

15 files changed

+35
-118
lines changed

src/main/java/net/javadiscord/javabot/systems/help/HelpChannelInteractionManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import net.javadiscord.javabot.data.config.guild.HelpConfig;
1515
import net.javadiscord.javabot.data.h2db.DbActions;
1616
import net.javadiscord.javabot.systems.help.model.ChannelReservation;
17-
import net.javadiscord.javabot.systems.help.model.HelpTransactionMessage;
1817
import net.javadiscord.javabot.util.ExceptionLogger;
1918
import net.javadiscord.javabot.util.Responses;
2019
import org.jetbrains.annotations.NotNull;
@@ -126,8 +125,8 @@ private void thankHelper(@NotNull ButtonInteractionEvent event, TextChannel chan
126125
event.getInteraction().getHook().sendMessageFormat("You thanked %s", helper.getAsTag()).setEphemeral(true).queue();
127126
HelpConfig config = botConfig.get(event.getGuild()).getHelpConfig();
128127
// Perform experience transactions
129-
helpExperienceService.performTransaction(helper.getIdLong(), config.getThankedExperience(), HelpTransactionMessage.GOT_THANKED, event.getGuild());
130-
helpExperienceService.performTransaction(owner.getIdLong(), config.getThankExperience(), HelpTransactionMessage.THANKED_USER, event.getGuild());
128+
helpExperienceService.performTransaction(helper.getIdLong(), config.getThankedExperience(), event.getGuild());
129+
helpExperienceService.performTransaction(owner.getIdLong(), config.getThankExperience(), event.getGuild());
131130
} catch (DataAccessException|SQLException e) {
132131
ExceptionLogger.capture(e, getClass().getSimpleName());
133132
botConfig.get(event.getGuild()).getModerationConfig().getLogChannel().sendMessageFormat(

src/main/java/net/javadiscord/javabot/systems/help/HelpChannelManager.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import net.javadiscord.javabot.data.config.guild.HelpConfig;
2222
import net.javadiscord.javabot.data.h2db.DbActions;
2323
import net.javadiscord.javabot.systems.help.model.ChannelReservation;
24-
import net.javadiscord.javabot.systems.help.model.HelpTransactionMessage;
2524
import net.javadiscord.javabot.util.ExceptionLogger;
2625
import net.javadiscord.javabot.util.MessageActionUtils;
2726
import net.javadiscord.javabot.util.Responses;
@@ -351,7 +350,7 @@ public RestAction<?> unreserveChannel(TextChannel channel) {
351350
ChannelReservation reservation = reservationOptional.get();
352351
Map<Long, Double> experience = calculateExperience(HelpChannelListener.reservationMessages.get(reservation.getId()), reservation.getUserId(), config);
353352
for (Long recipient : experience.keySet()) {
354-
helpExperienceService.performTransaction(recipient, experience.get(recipient), HelpTransactionMessage.HELPED, channel.getGuild());
353+
helpExperienceService.performTransaction(recipient, experience.get(recipient), channel.getGuild());
355354
}
356355
}
357356
try (PreparedStatement stmt = con.prepareStatement("DELETE FROM reserved_help_channels WHERE channel_id = ?")) {

src/main/java/net/javadiscord/javabot/systems/help/HelpExperienceService.java

Lines changed: 25 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import net.javadiscord.javabot.systems.help.dao.HelpTransactionRepository;
1010
import net.javadiscord.javabot.systems.help.model.HelpAccount;
1111
import net.javadiscord.javabot.systems.help.model.HelpTransaction;
12-
import net.javadiscord.javabot.systems.help.model.HelpTransactionMessage;
1312
import net.javadiscord.javabot.util.ExceptionLogger;
1413
import net.javadiscord.javabot.util.Pair;
1514
import org.jetbrains.annotations.NotNull;
@@ -21,16 +20,13 @@
2120
import java.util.List;
2221
import java.util.Optional;
2322

24-
import javax.sql.DataSource;
25-
2623
/**
2724
* Service class that handles Help Experience Transactions.
2825
*/
2926
@Slf4j
3027
@RequiredArgsConstructor
3128
@Service
3229
public class HelpExperienceService {
33-
private final DataSource dataSource;
3430
private final BotConfig botConfig;
3531
private final HelpAccountRepository helpAccountRepository;
3632
private final HelpTransactionRepository helpTransactionRepository;
@@ -45,73 +41,56 @@ public class HelpExperienceService {
4541
@Transactional
4642
public HelpAccount getOrCreateAccount(long userId) throws DataAccessException {
4743
HelpAccount account;
48-
Optional<HelpAccount> optional = helpAccountRepository.getByUserId(userId);
49-
if (optional.isPresent()) {
50-
account = optional.get();
51-
} else {
52-
account = new HelpAccount(botConfig);
53-
account.setUserId(userId);
54-
account.setExperience(0);
55-
helpAccountRepository.insert(account);
56-
}
57-
return account;
44+
Optional<HelpAccount> optional = helpAccountRepository.getByUserId(userId);
45+
if (optional.isPresent()) {
46+
account = optional.get();
47+
} else {
48+
account = new HelpAccount(botConfig);
49+
account.setUserId(userId);
50+
account.setExperience(0);
51+
helpAccountRepository.insert(account);
52+
}
53+
return account;
5854
}
5955

6056
/**
6157
* Returns the specified amount of {@link HelpAccount}s, sorted by their experience.
6258
*
6359
* @param amount The amount to retrieve.
64-
* @param page The page to get.
60+
* @param page The page to get.
6561
* @return A {@link List} of {@link HelpAccount}s.
6662
*/
6763
public List<HelpAccount> getTopAccounts(int amount, int page) {
68-
try{
64+
try {
6965
return helpAccountRepository.getAccounts(page, amount);
7066
} catch (DataAccessException e) {
7167
ExceptionLogger.capture(e, getClass().getSimpleName());
7268
return Collections.emptyList();
7369
}
7470
}
7571

76-
/**
77-
* Gets all recent help transactions from a user.
78-
*
79-
* @param userId The user's id.
80-
* @param count The count of transactions to retrieve.
81-
* @return A {@link List} with all transactions.
82-
* @throws DataAccessException If an error occurs.
83-
*/
84-
public List<HelpTransaction> getRecentTransactions(long userId, int count) throws DataAccessException {
85-
List<HelpTransaction> transactions = helpTransactionRepository.getTransactions(userId, count);
86-
return transactions;
87-
}
88-
8972
/**
9073
* Performs a single transaction.
9174
*
92-
* @param recipient The recipient's user id.
93-
* @param value The transaction's value.
94-
* @param message The transaction's message.
95-
* @param guild The current guild.
96-
* @return A {@link HelpTransaction} object.
75+
* @param recipient The recipient's user id.
76+
* @param value The transaction's value.
77+
* @param guild The current guild.
9778
* @throws DataAccessException If an error occurs.
9879
*/
9980
@Transactional
100-
public HelpTransaction performTransaction(long recipient, double value, HelpTransactionMessage message, Guild guild) throws DataAccessException {
81+
public void performTransaction(long recipient, double value, Guild guild) throws DataAccessException {
10182
if (value == 0) {
10283
log.error("Cannot make zero-value transactions");
103-
return null;
84+
return;
10485
}
10586
HelpTransaction transaction = new HelpTransaction();
10687
transaction.setRecipient(recipient);
10788
transaction.setWeight(value);
108-
transaction.setMessageType(message.ordinal());
109-
HelpAccount account = this.getOrCreateAccount(recipient);
89+
HelpAccount account = getOrCreateAccount(recipient);
11090
account.updateExperience(value);
11191
helpAccountRepository.update(account);
112-
transaction = helpTransactionRepository.save(transaction);
113-
this.checkExperienceRoles(guild, account);
114-
return helpTransactionRepository.getTransaction(transaction.getId()).orElse(null);
92+
helpTransactionRepository.save(transaction);
93+
checkExperienceRoles(guild, account);
11594
}
11695

11796
private void checkExperienceRoles(@NotNull Guild guild, @NotNull HelpAccount account) {
@@ -122,8 +101,11 @@ private void checkExperienceRoles(@NotNull Guild guild, @NotNull HelpAccount acc
122101
if (key.equals(role.first().getIdLong())) {
123102
guild.addRoleToMember(member, role.first()).queue();
124103
} else {
125-
guild.removeRoleFromMember(member, guild.getRoleById(key)).queue();
104+
Role remove = guild.getRoleById(key);
105+
if (remove != null) {
106+
guild.removeRoleFromMember(member, remove).queue();
107+
}
126108
}
127-
}), e -> {});
109+
}), e -> {});
128110
}
129111
}

src/main/java/net/javadiscord/javabot/systems/help/commands/UnreserveCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void execute(@NotNull SlashCommandInteractionEvent event) {
5555
if (postThread.getParentChannel().getType() != ChannelType.FORUM) {
5656
replyInvalidChannel(event);
5757
}
58-
ForumHelpManager manager = new ForumHelpManager(postThread, dbActions, botConfig, dbActions.getDataSource(), helpAccountRepository, helpTransactionRepository);
58+
ForumHelpManager manager = new ForumHelpManager(postThread, dbActions, botConfig, helpAccountRepository, helpTransactionRepository);
5959
if (manager.isForumEligibleToBeUnreserved(event.getInteraction())) {
6060
manager.close(event, event.getUser().getIdLong() == postThread.getOwnerIdLong(),
6161
event.getOption("reason", null, OptionMapping::getAsString)

src/main/java/net/javadiscord/javabot/systems/help/forum/ForumHelpListener.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import net.javadiscord.javabot.systems.help.HelpExperienceService;
2929
import net.javadiscord.javabot.systems.help.dao.HelpAccountRepository;
3030
import net.javadiscord.javabot.systems.help.dao.HelpTransactionRepository;
31-
import net.javadiscord.javabot.systems.help.model.HelpTransactionMessage;
3231
import net.javadiscord.javabot.systems.user_preferences.UserPreferenceService;
3332
import net.javadiscord.javabot.systems.user_preferences.model.Preference;
3433
import net.javadiscord.javabot.systems.user_preferences.model.UserPreference;
@@ -115,7 +114,7 @@ public void handleButton(@NotNull ButtonInteractionEvent event, @NotNull Button
115114
return;
116115
}
117116
ThreadChannel post = event.getChannel().asThreadChannel();
118-
ForumHelpManager manager = new ForumHelpManager(post, dbActions, botConfig, dataSource, helpAccountRepository, helpTransactionRepository);
117+
ForumHelpManager manager = new ForumHelpManager(post, dbActions, botConfig, helpAccountRepository, helpTransactionRepository);
119118
switch (id[0]) {
120119
case ForumHelpManager.HELP_THANKS_IDENTIFIER -> handleHelpThanksInteraction(event, manager, id);
121120
case ForumHelpManager.HELP_GUIDELINES_IDENTIFIER -> handleReplyGuidelines(event, post.getParentChannel().asForumChannel());
@@ -149,10 +148,10 @@ private void handleHelpThanksInteraction(@NotNull ButtonInteractionEvent event,
149148
manager.close(event, false, null);
150149
// add experience
151150
try {
152-
HelpExperienceService service = new HelpExperienceService(dataSource, botConfig, helpAccountRepository, helpTransactionRepository);
151+
HelpExperienceService service = new HelpExperienceService(botConfig, helpAccountRepository, helpTransactionRepository);
153152
Map<Long, Double> experience = HelpChannelManager.calculateExperience(HELP_POST_MESSAGES.get(post.getIdLong()), post.getOwnerIdLong(), config);
154153
for (Map.Entry<Long, Double> entry : experience.entrySet()) {
155-
service.performTransaction(entry.getKey(), entry.getValue(), HelpTransactionMessage.HELPED, config.getGuild());
154+
service.performTransaction(entry.getKey(), entry.getValue(), config.getGuild());
156155
}
157156
} catch (DataAccessException e) {
158157
ExceptionLogger.capture(e, getClass().getName());

src/main/java/net/javadiscord/javabot/systems/help/forum/ForumHelpManager.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import net.javadiscord.javabot.systems.help.HelpExperienceService;
2424
import net.javadiscord.javabot.systems.help.dao.HelpAccountRepository;
2525
import net.javadiscord.javabot.systems.help.dao.HelpTransactionRepository;
26-
import net.javadiscord.javabot.systems.help.model.HelpTransactionMessage;
2726
import net.javadiscord.javabot.util.ExceptionLogger;
2827
import net.javadiscord.javabot.util.MessageActionUtils;
2928
import net.javadiscord.javabot.util.Responses;
@@ -34,8 +33,6 @@
3433
import java.util.ArrayList;
3534
import java.util.List;
3635

37-
import javax.sql.DataSource;
38-
3936
/**
4037
* Manages all interactions regarding the help forum system.
4138
*/
@@ -60,8 +57,6 @@ public class ForumHelpManager {
6057
private final ThreadChannel postThread;
6158
private final DbActions dbActions;
6259
private final BotConfig botConfig;
63-
private final DataSource dataSource;
64-
6560
private final HelpAccountRepository helpAccountRepository;
6661

6762
private final HelpTransactionRepository helpTransactionRepository;
@@ -130,9 +125,9 @@ public void thankHelper(@NotNull ButtonInteractionEvent event, ThreadChannel pos
130125
helper.getIdLong()
131126
);
132127
HelpConfig config = botConfig.get(event.getGuild()).getHelpConfig();
133-
HelpExperienceService service = new HelpExperienceService(dataSource, botConfig, helpAccountRepository, helpTransactionRepository);
128+
HelpExperienceService service = new HelpExperienceService(botConfig, helpAccountRepository, helpTransactionRepository);
134129
// Perform experience transactions
135-
service.performTransaction(helper.getIdLong(), config.getThankedExperience(), HelpTransactionMessage.GOT_THANKED, event.getGuild());
130+
service.performTransaction(helper.getIdLong(), config.getThankedExperience(), event.getGuild());
136131
} catch (SQLException e) {
137132
ExceptionLogger.capture(e, getClass().getSimpleName());
138133
botConfig.get(event.getGuild()).getModerationConfig().getLogChannel().sendMessageFormat(
Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package net.javadiscord.javabot.systems.help.model;
22

33
import lombok.Data;
4-
import net.javadiscord.javabot.util.TimeUtils;
54

65
import java.time.LocalDateTime;
76

@@ -15,18 +14,4 @@ public class HelpTransaction {
1514
private LocalDateTime createdAt;
1615
private double weight;
1716
private int messageType;
18-
19-
public String getMessage() {
20-
return switch (HelpTransactionMessage.values()[messageType]) {
21-
case UNKNOWN -> "Unknown";
22-
case HELPED -> "For helping another user in a reserved help channel";
23-
case GOT_THANKED -> "For receiving a thank from another user";
24-
case THANKED_USER -> "For thanking another user";
25-
case DAILY_SUBTRACTION -> "Daily Experience Subtraction";
26-
};
27-
}
28-
29-
public String format() {
30-
return String.format("%s%s XP (%s UTC)\n%s", weight > 0 ? "+" : "-", weight, createdAt.format(TimeUtils.STANDARD_FORMATTER), this.getMessage());
31-
}
3217
}

src/main/java/net/javadiscord/javabot/systems/help/model/HelpTransactionMessage.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/main/resources/database/migrations/07-31-2022_add_user_preferences_table.sql

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/main/resources/database/migrations/08-12-2022_better_preferences.sql

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)