diff --git a/src/main/java/com/example/service/base/MessageEntryFilter.java b/src/main/java/com/example/service/base/MessageEntryFilter.java index b84e126..171812b 100644 --- a/src/main/java/com/example/service/base/MessageEntryFilter.java +++ b/src/main/java/com/example/service/base/MessageEntryFilter.java @@ -119,7 +119,6 @@ public class MessageEntryFilter { yield CATEGORY_UNKNOWN; } }; - resultCategory = CATEGORY_CONVERSATION; return resultCategory; } catch (Exception e) { logger.error("An error occurred during Gemini content generation for message classification.", e); diff --git a/src/main/java/com/example/service/conversation/ConversationManagerService.java b/src/main/java/com/example/service/conversation/ConversationManagerService.java index da10103..611f86d 100644 --- a/src/main/java/com/example/service/conversation/ConversationManagerService.java +++ b/src/main/java/com/example/service/conversation/ConversationManagerService.java @@ -161,40 +161,7 @@ public class ConversationManagerService { String userMessageText = request.queryInput().text().text(); final ConversationContext context = new ConversationContext(resolvedUserId, null, userMessageText, primaryPhoneNumber); - return handleMessageClassification(context, request); - } - - private Mono handleMessageClassification(ConversationContext context, - DetectIntentRequestDTO request) { - final String userPhoneNumber = context.primaryPhoneNumber(); - final String userMessageText = context.userMessageText(); - - return memoryStoreConversationService.getSessionByTelefono(userPhoneNumber) - .flatMap(session -> memoryStoreConversationService.getMessages(session.sessionId()).collectList() - .map(conversationContextMapper::toTextFromMessages) - .defaultIfEmpty("") - .flatMap(conversationHistory -> { - return memoryStoreNotificationService.getNotificationIdForPhone(userPhoneNumber) - .flatMap(notificationId -> memoryStoreNotificationService - .getCachedNotificationSession(notificationId)) - .map(notificationSession -> notificationSession.notificaciones().stream() - .filter(notification -> "active".equalsIgnoreCase(notification.status())) - .max(java.util.Comparator.comparing(NotificationDTO::timestampCreacion)) - .orElse(null)) - .filter(Objects::nonNull) - .flatMap((NotificationDTO notification) -> { - String notificationText = notificationContextMapper.toText(notification); - String classification = messageEntryFilter.classifyMessage(userMessageText, - notificationText, conversationHistory); - if (MessageEntryFilter.CATEGORY_NOTIFICATION.equals(classification)) { - return startNotificationConversation(context, request, notification); - } else { - return continueConversationFlow(context, request); - } - }) - .switchIfEmpty(continueConversationFlow(context, request)); - })) - .switchIfEmpty(continueConversationFlow(context, request)); + return continueConversationFlow(context, request); } private Mono continueConversationFlow(ConversationContext context, @@ -357,7 +324,6 @@ public class ConversationManagerService { String resolvedContext = notificationContextResolver.resolveContext(userMessageText, notificationText, conversationHistory, filteredParams.toString(), userId, sessionId, userPhoneNumber); - if (!resolvedContext.trim().toUpperCase().contains(NotificationContextResolver.CATEGORY_DIALOGFLOW)) { String uuid = UUID.randomUUID().toString(); llmResponseTunerService.setValue(uuid, resolvedContext).subscribe();