diff --git a/modules/core/src/main/java/com/bytedesk/core/message/MessageRequest.java b/modules/core/src/main/java/com/bytedesk/core/message/MessageRequest.java index deaffff73f..f77036115b 100644 --- a/modules/core/src/main/java/com/bytedesk/core/message/MessageRequest.java +++ b/modules/core/src/main/java/com/bytedesk/core/message/MessageRequest.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-02-21 10:00:32 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-19 13:23:32 + * @LastEditTime: 2025-03-27 14:54:19 * @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. @@ -28,8 +28,9 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class MessageRequest extends BaseRequest { - // private String[] threads; private String topic; + + private String threadUid; private String userUid; diff --git a/modules/core/src/main/java/com/bytedesk/core/message/MessageRestController.java b/modules/core/src/main/java/com/bytedesk/core/message/MessageRestController.java index f42cb4295d..7a93812941 100644 --- a/modules/core/src/main/java/com/bytedesk/core/message/MessageRestController.java +++ b/modules/core/src/main/java/com/bytedesk/core/message/MessageRestController.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-01-29 16:21:24 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-15 14:20:07 + * @LastEditTime: 2025-03-27 14:50:44 * @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. @@ -46,7 +46,7 @@ import lombok.extern.slf4j.Slf4j; @RequestMapping("/api/v1/message") public class MessageRestController extends BaseRestController { - private final MessageRestService messageService; + private final MessageRestService messageRestService; private final IMessageSendService messageSendService; @@ -57,14 +57,14 @@ public class MessageRestController extends BaseRestController { @Override public ResponseEntity queryByOrg(MessageRequest request) { - Page messagePage = messageService.queryByOrg(request); + Page messagePage = messageRestService.queryByOrg(request); // return ResponseEntity.ok(JsonResult.success(messagePage)); } public ResponseEntity queryByUser(MessageRequest request) { - Page response = messageService.queryByUser(request); + Page response = messageRestService.queryByUser(request); // return ResponseEntity.ok(JsonResult.success(response)); } @@ -72,7 +72,21 @@ public class MessageRestController extends BaseRestController { @GetMapping("/query/topic") public ResponseEntity queryByTopic(MessageRequest request) { - Page response = messageService.queryByOrg(request); + Page response = messageRestService.queryByOrg(request); + // + return ResponseEntity.ok(JsonResult.success(response)); + } + + @Override + public ResponseEntity queryByUid(MessageRequest request) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'queryByUid'"); + } + + @GetMapping("/query/thread/uid") + public ResponseEntity queryByThreadUid(MessageRequest request) { + + Page response = messageRestService.queryByOrg(request); // return ResponseEntity.ok(JsonResult.success(response)); } @@ -136,7 +150,7 @@ public class MessageRestController extends BaseRestController { @GetMapping("/export") public Object export(MessageRequest request, HttpServletResponse response) { // query data to export - Page messagePage = messageService.queryByOrg(request); + Page messagePage = messageRestService.queryByOrg(request); // try { // @@ -169,11 +183,7 @@ public class MessageRestController extends BaseRestController { return ""; } - @Override - public ResponseEntity queryByUid(MessageRequest request) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'queryByUid'"); - } + } diff --git a/modules/core/src/main/java/com/bytedesk/core/message/MessageSpecification.java b/modules/core/src/main/java/com/bytedesk/core/message/MessageSpecification.java index d9da58c6fa..5057803ace 100644 --- a/modules/core/src/main/java/com/bytedesk/core/message/MessageSpecification.java +++ b/modules/core/src/main/java/com/bytedesk/core/message/MessageSpecification.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-06-05 22:53:57 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-15 14:14:41 + * @LastEditTime: 2025-03-27 14:53:47 * @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. @@ -81,6 +81,10 @@ public class MessageSpecification extends BaseSpecification { predicates.add(topicPredicate); } } + // threadUid + if (StringUtils.hasText(request.getThreadUid())) { + predicates.add(criteriaBuilder.equal(root.get("threadUid"), request.getThreadUid())); + } // user.nickname if (StringUtils.hasText(request.getNickname())) { predicates.add(criteriaBuilder.like(root.get("user"), "%" + request.getNickname() + "%")); diff --git a/modules/service/src/main/java/com/bytedesk/service/visitor_message/VisitorMessageRestController.java b/modules/service/src/main/java/com/bytedesk/service/visitor_message/VisitorMessageRestController.java index c3f2168b8d..d386961a2a 100644 --- a/modules/service/src/main/java/com/bytedesk/service/visitor_message/VisitorMessageRestController.java +++ b/modules/service/src/main/java/com/bytedesk/service/visitor_message/VisitorMessageRestController.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-12-20 13:19:47 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-15 14:15:52 + * @LastEditTime: 2025-03-27 14:50:22 * @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. @@ -58,6 +58,20 @@ public class VisitorMessageRestController extends BaseRestController queryByUid(MessageRequest request) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'queryByUid'"); + } + + @GetMapping("/query/thread/uid") + public ResponseEntity queryByThreadUid(MessageRequest request) { + + Page response = messageRestService.queryByOrg(request); + // + return ResponseEntity.ok(JsonResult.success(response)); + } + @Override public ResponseEntity create(MessageRequest request) { // TODO Auto-generated method stub @@ -82,10 +96,6 @@ public class VisitorMessageRestController extends BaseRestController queryByUid(MessageRequest request) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'queryByUid'"); - } + }