From 6268573cf5efd38485dfb08d7f5e70b3fbcdf4ea Mon Sep 17 00:00:00 2001 From: jack ning Date: Mon, 7 Jul 2025 15:31:19 +0800 Subject: [PATCH] update modules/core: mod 1 files --- .../core/thread/ThreadRestService.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/modules/core/src/main/java/com/bytedesk/core/thread/ThreadRestService.java b/modules/core/src/main/java/com/bytedesk/core/thread/ThreadRestService.java index cfbce5e3b3..394fd22034 100644 --- a/modules/core/src/main/java/com/bytedesk/core/thread/ThreadRestService.java +++ b/modules/core/src/main/java/com/bytedesk/core/thread/ThreadRestService.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-01-29 16:21:24 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-07-07 15:27:50 + * @LastEditTime: 2025-07-07 15:30:39 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -624,7 +624,25 @@ public class ThreadRestService .build(); topicRestService.remove(topicRequest); // - List invites = + List invites = thread.getInvites(); + if (invites != null && !invites.isEmpty()) { + for (String invite : invites) { + UserProtobuf user = UserProtobuf.fromJson(invite); + String agentUid = user.getUid(); + // 获取Agent的UserUid用于取消订阅 + Optional agentOptional = agentRestService.findByUid(agentUid); + if (agentOptional.isPresent()) { + String userUid = agentOptional.get().getUserUid(); + // 移除被邀请人的话题订阅 + String topic = savedEntity.getTopic(); + TopicRequest topicRequest = TopicRequest.builder() + .topic(topic) + .userUid(userUid) + .build(); + topicRestService.remove(topicRequest); + } + } + } } // 发布关闭事件 bytedeskEventPublisher.publishEvent(new ThreadCloseEvent(this, updateThread));