diff --git a/modules/service/src/main/java/com/bytedesk/service/routing_strategy/WorkgroupThreadRoutingStrategy.java b/modules/service/src/main/java/com/bytedesk/service/routing_strategy/WorkgroupThreadRoutingStrategy.java index d6db120d70..50b3c0988e 100644 --- a/modules/service/src/main/java/com/bytedesk/service/routing_strategy/WorkgroupThreadRoutingStrategy.java +++ b/modules/service/src/main/java/com/bytedesk/service/routing_strategy/WorkgroupThreadRoutingStrategy.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-07-15 15:58:23 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-04-08 10:08:50 + * @LastEditTime: 2025-04-08 10:37:10 * @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. @@ -138,6 +138,7 @@ public class WorkgroupThreadRoutingStrategy implements ThreadRoutingStrategy { // // 未强制转人工的情况下,判断是否转机器人 if (!visitorRequest.getForceAgent()) { + log.info("Not force transfer to agent"); Boolean isOffline = !workgroup.isConnected(); Boolean isInServiceTime = workgroup.getMessageLeaveSettings().isInServiceTime(); Boolean transferToRobot = workgroup.getRobotSettings().shouldTransferToRobot(isOffline, isInServiceTime); @@ -152,6 +153,8 @@ public class WorkgroupThreadRoutingStrategy implements ThreadRoutingStrategy { throw new RuntimeException("Workgroup robot not found"); } } + } else { + log.info("Force transfer to agent"); } // 下面人工接待 @@ -335,17 +338,17 @@ public class WorkgroupThreadRoutingStrategy implements ThreadRoutingStrategy { applicationEventPublisher.publishEvent(new ThreadProcessCreateEvent(this, savedThread)); // 查询最新一条消息,如果距离当前时间不超过30分钟,则直接使用之前的消息,否则创建新的消息 - Optional messageOptional = messageRestService.findLatestByThreadUid(savedThread.getUid()); - if (messageOptional.isPresent()) { - MessageEntity message = messageOptional.get(); - if (message.getCreatedAt().isAfter(LocalDateTime.now().minusMinutes(30))) { - // 距离当前时间不超过30分钟,则直接使用之前的消息 - // 部分用户测试的,离线状态收不到消息,以为是bug,其实不是,是离线状态不发送消息。防止此种情况,所以还是推送一下 - MessageProtobuf messageProtobuf = ServiceConvertUtils.convertToMessageProtobuf(message, savedThread); - // messageSendService.sendProtobufMessage(messageProtobuf); - return messageProtobuf; - } - } + // Optional messageOptional = messageRestService.findLatestByThreadUid(savedThread.getUid()); + // if (messageOptional.isPresent()) { + // MessageEntity message = messageOptional.get(); + // if (message.getCreatedAt().isAfter(LocalDateTime.now().minusMinutes(30))) { + // // 距离当前时间不超过30分钟,则直接使用之前的消息 + // // 部分用户测试的,离线状态收不到消息,以为是bug,其实不是,是离线状态不发送消息。防止此种情况,所以还是推送一下 + // MessageProtobuf messageProtobuf = ServiceConvertUtils.convertToMessageProtobuf(message, savedThread); + // // messageSendService.sendProtobufMessage(messageProtobuf); + // return messageProtobuf; + // } + // } MessageEntity message = ThreadMessageUtil.getThreadRobotWelcomeMessage(content, savedThread); messageRestService.save(message);