Skip to content

Commit a1ecd95

Browse files
committed
update listener to record added metadata columns
1 parent c5768c2 commit a1ecd95

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadLifecycleListener.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void onChannelUpdateArchived(@NotNull ChannelUpdateArchivedEvent event) {
4646
if (!helper.isHelpForumName(threadChannel.getParentChannel().getName())) {
4747
return;
4848
}
49-
handleThreadStatus(threadChannel.getIdLong());
49+
handleThreadStatus(threadChannel);
5050
}
5151

5252
@Override
@@ -63,25 +63,32 @@ public void onChannelUpdateAppliedTags(@NotNull ChannelUpdateAppliedTagsEvent ev
6363
handleTagsUpdate(threadId, updatedTag);
6464
}
6565

66-
private void handleThreadStatus(long threadId) {
66+
private void handleThreadStatus(ThreadChannel threadChannel) {
6767
Instant closedAt = Instant.now();
68+
long threadId = threadChannel.getIdLong();
6869

6970
int status = database.read(context -> context.selectFrom(HELP_THREADS)
7071
.where(HELP_THREADS.CHANNEL_ID.eq(threadId))
7172
.fetchOne(HELP_THREADS.TICKET_STATUS));
7273

7374
if (status == HelpSystemHelper.TicketStatus.ACTIVE.val) {
74-
changeStatusToArchive(closedAt, threadId);
75+
handleArchiveStatus(closedAt, threadChannel);
7576
return;
7677
}
7778

7879
changeStatusToActive(threadId);
7980
}
8081

81-
private void changeStatusToArchive(Instant closedAt, long threadId) {
82+
private void handleArchiveStatus(Instant closedAt, ThreadChannel threadChannel) {
83+
long threadId = threadChannel.getIdLong();
84+
int messageCount = threadChannel.getMessageCount();
85+
int participantsExceptAuthor = threadChannel.getMemberCount() - 1;
86+
8287
database.write(context -> context.update(HELP_THREADS)
8388
.set(HELP_THREADS.CLOSED_AT, closedAt)
8489
.set(HELP_THREADS.TICKET_STATUS, HelpSystemHelper.TicketStatus.ARCHIVED.val)
90+
.set(HELP_THREADS.MESSAGE_COUNT,messageCount)
91+
.set(HELP_THREADS.PARTICIPANTS,participantsExceptAuthor)
8592
.where(HELP_THREADS.CHANNEL_ID.eq(threadId))
8693
.execute());
8794

0 commit comments

Comments
 (0)