From b4e2d1cd2f7042753689a46dee8ee91c1c198d60 Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Tue, 10 Mar 2026 20:52:07 -0600 Subject: [PATCH] Show chat mode --- .../api/dto/chat/ConversationResponse.java | 18 ++++++++++++++++++ .../controllers/ChatController.java | 11 ++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/example/petshopdesktop/api/dto/chat/ConversationResponse.java b/src/main/java/org/example/petshopdesktop/api/dto/chat/ConversationResponse.java index bac384d4..1bcdba17 100644 --- a/src/main/java/org/example/petshopdesktop/api/dto/chat/ConversationResponse.java +++ b/src/main/java/org/example/petshopdesktop/api/dto/chat/ConversationResponse.java @@ -7,7 +7,9 @@ public class ConversationResponse { private Long customerId; private Long staffId; private String status; + private String mode; private String lastMessage; + private LocalDateTime humanRequestedAt; private LocalDateTime createdAt; private LocalDateTime updatedAt; @@ -46,6 +48,14 @@ public class ConversationResponse { this.status = status; } + public String getMode() { + return mode; + } + + public void setMode(String mode) { + this.mode = mode; + } + public String getLastMessage() { return lastMessage; } @@ -54,6 +64,14 @@ public class ConversationResponse { this.lastMessage = lastMessage; } + public LocalDateTime getHumanRequestedAt() { + return humanRequestedAt; + } + + public void setHumanRequestedAt(LocalDateTime humanRequestedAt) { + this.humanRequestedAt = humanRequestedAt; + } + public LocalDateTime getCreatedAt() { return createdAt; } diff --git a/src/main/java/org/example/petshopdesktop/controllers/ChatController.java b/src/main/java/org/example/petshopdesktop/controllers/ChatController.java index bb70f857..6911960d 100644 --- a/src/main/java/org/example/petshopdesktop/controllers/ChatController.java +++ b/src/main/java/org/example/petshopdesktop/controllers/ChatController.java @@ -326,7 +326,16 @@ public class ChatController { } private String buildConversationMeta(ConversationResponse conversation) { - String assignee = conversation.getStaffId() == null ? "Unassigned" : "Assigned"; + String assignee; + if (conversation.getStaffId() != null) { + assignee = "Assigned"; + } else if (conversation.getHumanRequestedAt() != null) { + assignee = "Takeover requested"; + } else if ("AUTOMATED".equals(conversation.getMode())) { + assignee = "Automated"; + } else { + assignee = "Open"; + } String updated = conversation.getUpdatedAt() == null ? "" : TIME_FORMATTER.format(conversation.getUpdatedAt()); return assignee + (updated.isBlank() ? "" : " ยท " + updated); }