Skip to content

Commit 7cb72ed

Browse files
committed
Adjustments to the FormsRepository class
1 parent e2c6372 commit 7cb72ed

File tree

3 files changed

+19
-25
lines changed

3 files changed

+19
-25
lines changed

src/main/java/net/discordjug/javabot/systems/staff_commands/forms/FormInteractionManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ public void handleModal(ModalInteractionEvent event, List<ModalMapping> values)
150150
}
151151

152152
channel.sendMessageEmbeds(createSubmissionEmbed(form, values, event.getMember())).queue(msg -> {
153-
formsRepo.logSubmission(event.getUser(), form, msg);
153+
formsRepo.addSubmission(event.getUser(), form, msg);
154154
});
155155

156156
event.getHook()

src/main/java/net/discordjug/javabot/systems/staff_commands/forms/commands/SubmissionsExportFormSubcommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void execute(SlashCommandInteractionEvent event) {
5555
}
5656

5757
FormData form = formOpt.get();
58-
Map<FormUser, Integer> submissions = formsRepo.getAllSubmissions(form);
58+
Map<FormUser, Integer> submissions = formsRepo.getSubmissionsCountPerUser(form);
5959
JsonObject root = new JsonObject();
6060
JsonObject details = new JsonObject();
6161
JsonArray users = new JsonArray();

src/main/java/net/discordjug/javabot/systems/staff_commands/forms/dao/FormsRepository.java

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package net.discordjug.javabot.systems.staff_commands.forms.dao;
22

3-
import java.sql.Connection;
43
import java.sql.PreparedStatement;
54
import java.sql.ResultSet;
65
import java.sql.SQLException;
@@ -13,7 +12,6 @@
1312

1413
import org.springframework.dao.EmptyResultDataAccessException;
1514
import org.springframework.jdbc.core.JdbcTemplate;
16-
import org.springframework.jdbc.core.PreparedStatementCreator;
1715
import org.springframework.jdbc.core.RowMapper;
1816
import org.springframework.stereotype.Repository;
1917

@@ -136,13 +134,13 @@ public List<FormData> getAllForms(boolean closed) {
136134
* @param form a form to get submissions for
137135
* @return a map of users and the number of their submissions
138136
*/
139-
public Map<FormUser, Integer> getAllSubmissions(FormData form) {
137+
public Map<FormUser, Integer> getSubmissionsCountPerUser(FormData form) {
140138
Objects.requireNonNull(form);
141139
List<FormUser> users = jdbcTemplate.query("select * from `form_submissions` where `form_id` = ?",
142140
(rs, rowNum) -> new FormUser(rs.getLong("user_id"), rs.getString("user_name")), form.getId());
143141
Map<FormUser, Integer> map = new HashMap<>();
144142
for (FormUser user : users) {
145-
map.compute(user, (t, u) -> u == null ? 1 : u + 1);
143+
map.merge(user, 1, Integer::sum);
146144
}
147145
return Collections.unmodifiableMap(map);
148146
}
@@ -151,7 +149,7 @@ public Map<FormUser, Integer> getAllSubmissions(FormData form) {
151149
* Get a form for given ID.
152150
*
153151
* @param formId form ID to query
154-
* @return optional containing the form, or empty if the form was not found.
152+
* @return optional form
155153
*/
156154
public Optional<FormData> getForm(long formId) {
157155
try {
@@ -175,7 +173,7 @@ public int getTotalSubmissionsCount(FormData form) {
175173
}
176174

177175
/**
178-
* Checks if an user already submitted the form.
176+
* Checks if a user already submitted the form.
179177
*
180178
* @param user user to check
181179
* @param form form to check on
@@ -199,32 +197,28 @@ public boolean hasSubmitted(User user, FormData form) {
199197
*/
200198
public void insertForm(@NonNull FormData data) {
201199
Objects.requireNonNull(data);
202-
jdbcTemplate.update(new PreparedStatementCreator() {
203-
204-
@Override
205-
public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
206-
PreparedStatement statement = con.prepareStatement(
207-
"insert into `forms` (title, submit_message, submit_channel, message_id, message_channel, expiration, onetime) values (?, ?, ?, ?, ?, ?, ?)");
208-
statement.setString(1, data.getTitle());
209-
statement.setString(2, data.getSubmitMessage());
210-
statement.setLong(3, data.getSubmitChannel());
211-
statement.setObject(4, data.getMessageId().orElse(null));
212-
statement.setObject(5, data.getMessageChannel().orElse(null));
213-
statement.setLong(6, data.getExpiration());
214-
statement.setBoolean(7, data.isOnetime());
215-
return statement;
216-
}
200+
jdbcTemplate.update(con -> {
201+
PreparedStatement statement = con.prepareStatement(
202+
"insert into `forms` (title, submit_message, submit_channel, message_id, message_channel, expiration, onetime) values (?, ?, ?, ?, ?, ?, ?)");
203+
statement.setString(1, data.getTitle());
204+
statement.setString(2, data.getSubmitMessage());
205+
statement.setLong(3, data.getSubmitChannel());
206+
statement.setObject(4, data.getMessageId().orElse(null));
207+
statement.setObject(5, data.getMessageChannel().orElse(null));
208+
statement.setLong(6, data.getExpiration());
209+
statement.setBoolean(7, data.isOnetime());
210+
return statement;
217211
});
218212
}
219213

220214
/**
221-
* Log an user form submission in database.
215+
* Add a user form submission to the database.
222216
*
223217
* @param user user to log
224218
* @param form form to log on
225219
* @param message message containing details about this user's submission
226220
*/
227-
public void logSubmission(User user, FormData form, Message message) {
221+
public void addSubmission(User user, FormData form, Message message) {
228222
Objects.requireNonNull(user);
229223
Objects.requireNonNull(form);
230224
jdbcTemplate.update(con -> {

0 commit comments

Comments
 (0)