Merge branch 'prod/20260407' into test

This commit is contained in:
曹鹏飞 2026-04-11 10:11:59 +08:00
commit e54fab1f81
6 changed files with 53 additions and 25 deletions

View File

@ -829,13 +829,19 @@ public class TicketController extends ControllerBase {
MessageVO vo = new MessageVO();
List<ChatMessageVO> messageVOS = ticketChatService.getMessages(Long.valueOf(ticketId), userId);
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
messageVOS.stream()
.filter(m -> m.getSenderId() == 0)
.forEach(m -> {
if (StrUtil.isNotBlank(aliyunCode)) {
messageVOS.forEach(m -> {
if (m.getSenderId() == 0 && !StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
m.setSenderName(aliYunTranslate.translateWord(m.getSenderName(), aliyunCode));
m.setContent(m.getContentPre() + aliYunTranslate.translateWord(m.getContent(), aliyunCode));
}
if (m.isWithdrawn()) {
m.setContent(aliYunTranslate.translateWord(m.getContent(), aliyunCode));
}
if (Objects.nonNull(m.getQuote()) && m.getQuote().isWithdrawn()) {
m.getQuote().setContent(aliYunTranslate.translateWord(m.getQuote().getContent(), aliyunCode));
}
});
}
vo.setMessages(messageVOS);

View File

@ -411,13 +411,19 @@ public class TicketController extends ControllerBase {
MessageVO vo = new MessageVO();
List<ChatMessageVO> messageVOS = ticketChatService.getMessages(ticketId, userId);
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
messageVOS.stream()
.filter(m -> m.getSenderId() == 0)
.forEach(m -> {
if (StrUtil.isNotBlank(aliyunCode)) {
messageVOS.forEach(m -> {
if (m.getSenderId() == 0 && !StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
m.setSenderName(aliYunTranslate.translateWord(m.getSenderName(), aliyunCode));
m.setContent(m.getContentPre() + aliYunTranslate.translateWord(m.getContent(), aliyunCode));
}
if (m.isWithdrawn()) {
m.setContent(aliYunTranslate.translateWord(m.getContent(), aliyunCode));
}
if (Objects.nonNull(m.getQuote()) && m.getQuote().isWithdrawn()) {
m.getQuote().setContent(aliYunTranslate.translateWord(m.getQuote().getContent(), aliyunCode));
}
});
}
vo.setMessages(messageVOS);
@ -594,7 +600,7 @@ public class TicketController extends ControllerBase {
**/
@GetMapping("getSolutionMeasures")
public ApiResult<SolutionMeasuresVO> getSolutionMeasures(@Valid @RequestParam @NotNull Long ticketId) {
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId,MultilingualUtil.getLanguage()));
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId, MultilingualUtil.getLanguage()));
}
/**

View File

@ -40,6 +40,9 @@ public class ChatMessageDTO {
// 消息内容
private String content;
// 是否撤回
private boolean withdrawn = false;
//语音消息URL地址
private String audioUrl;

View File

@ -30,6 +30,9 @@ public class ChatMessageVO {
// 消息内容
private String content;
// 是否撤回
private boolean withdrawn;
//语音消息URL地址
private String audioUrl;

View File

@ -830,13 +830,19 @@ public class TicketController extends ControllerBase {
MessageVO vo = new MessageVO();
List<ChatMessageVO> messageVOS = ticketChatService.getMessages(ticketId, userId);
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
messageVOS.stream()
.filter(m -> m.getSenderId() == 0)
.forEach(m -> {
if (StrUtil.isNotBlank(aliyunCode)) {
messageVOS.forEach(m -> {
if (m.getSenderId() == 0 && !StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
m.setSenderName(aliYunTranslate.translateWord(m.getSenderName(), aliyunCode));
m.setContent(m.getContentPre() + aliYunTranslate.translateWord(m.getContent(), aliyunCode));
}
if (m.isWithdrawn()) {
m.setContent(aliYunTranslate.translateWord(m.getContent(), aliyunCode));
}
if (Objects.nonNull(m.getQuote()) && m.getQuote().isWithdrawn()) {
m.getQuote().setContent(aliYunTranslate.translateWord(m.getQuote().getContent(), aliyunCode));
}
});
}
vo.setMessages(messageVOS);

View File

@ -68,6 +68,7 @@ public class TicketChatService {
.setSenderAvatar(m.getSenderAvatar())
.setContentPre(m.getContentPre())
.setContent(m.getContent())
.setWithdrawn(m.isWithdrawn())
.setAttachments(m.getAttachments())
.setImages(m.getImages())
.setCreateTime(formatter.format(m.getCreateTime()))
@ -82,6 +83,7 @@ public class TicketChatService {
.setSenderName(m.getQuote().getSenderName())
.setSenderAvatar(m.getQuote().getSenderAvatar())
.setContent(m.getQuote().getContent())
.setWithdrawn(m.getQuote().isWithdrawn())
.setAttachments(m.getQuote().getAttachments())
.setImages(m.getQuote().getImages())
.setRemindUsers(m.getQuote().getRemindUsers())
@ -154,6 +156,7 @@ public class TicketChatService {
if (duration.toMinutes() <= ticketSet.getWithdrawTimeout()) {
log.info("消息撤回 找到消息");
message.setContent("消息已撤回");
message.setWithdrawn(true);
flag=true;
//删除消息附件
List<Integer> fileIds = new ArrayList<>();
@ -173,6 +176,7 @@ public class TicketChatService {
if (flag && Objects.nonNull(message.getQuote()) && message.getQuote().getId().equals(messageId)){
log.info("消息撤回 找到引用消息:{}",message.getId());
message.getQuote().setContent("此引用已经被撤回");
message.getQuote().setWithdrawn(true);
}
}
if (flag){