diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index 0b976246..861e16c5 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.admin.controller; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.StrUtil; import com.itextpdf.html2pdf.ConverterProperties; import com.itextpdf.html2pdf.HtmlConverter; @@ -38,6 +39,8 @@ import java.io.IOException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -390,16 +393,35 @@ public class TicketController extends ControllerBase { .setAttachments(request.getAttachments()) .setImages(request.getImages()) .setQuote(request.getQuote()); -// ticketChatService.pushMessage(request.getTicketId(),message); -// TicketChat chat=ticketChatService.findByTicketId(request.getTicketId()); -// chat.getMessages().add(message); -// ticketChatService.save(chat); ticketChatService.addMessage(request.getTicketId(), message); //推送消息 try { + String zone = MultilingualUtil.getZone(); + ZoneId zoneId = ZoneId.of(Objects.isNull(zone) ? "Asia/Shanghai" : zone); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).withZone(zoneId); + ChatMessageVO messageVO = new ChatMessageVO() + .setId(message.getId()) + .setFrom(message.getFrom()) + .setSenderId(message.getSenderId()) + .setSenderName(message.getSenderName()) + .setSenderAvatar(message.getSenderAvatar()) + .setContent(message.getContent()) + .setCreateTime(formatter.format(message.getCreateTime())) + .setImages(message.getImages()) + .setAttachments(message.getAttachments()) + .setQuote(Objects.isNull(message.getQuote()) ? null : new ChatMessageVO() + .setId(message.getQuote().getId()) + .setFrom(message.getQuote().getFrom()) + .setSenderId(message.getQuote().getSenderId()) + .setSenderName(message.getQuote().getSenderName()) + .setSenderAvatar(message.getQuote().getSenderAvatar()) + .setContent(message.getQuote().getContent()) + .setAttachments(message.getQuote().getAttachments()) + .setImages(message.getQuote().getImages()) + .setCreateTime(formatter.format(message.getQuote().getCreateTime()))); SSEMessageDTO messageDTO = new SSEMessageDTO() .setType(1) - .setData(message); + .setData(messageVO); sseManagerService.send(ticket.getUserId(), messageDTO); } catch (IOException e) { log.error("发送SSE消息出错", e); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java index ce45a068..521052d8 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java @@ -50,15 +50,16 @@ public class TicketChatService { .setImages(m.getImages()) .setCreateTime(formatter.format(m.getCreateTime())) .setQuote(Objects.isNull(m.getQuote()) ? null : new ChatMessageVO() - .setId(m.getId()) - .setFrom(m.getFrom()) - .setSenderId(m.getSenderId()) - .setSenderName(m.getSenderName()) - .setSenderAvatar(m.getSenderAvatar()) - .setContent(m.getContent()) - .setAttachments(m.getAttachments()) - .setImages(m.getImages())) - .setCreateTime(formatter.format(m.getCreateTime()))) + .setId(m.getQuote().getId()) + .setFrom(m.getQuote().getFrom()) + .setSenderId(m.getQuote().getSenderId()) + .setSenderName(m.getQuote().getSenderName()) + .setSenderAvatar(m.getQuote().getSenderAvatar()) + .setContent(m.getQuote().getContent()) + .setAttachments(m.getQuote().getAttachments()) + .setImages(m.getQuote().getImages()) + .setCreateTime(formatter.format(m.getQuote().getCreateTime()))) + ) .collect(Collectors.toList()); } }