Merge branch 'prod/20260407' into test
This commit is contained in:
commit
e54fab1f81
|
|
@ -829,14 +829,20 @@ 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 -> {
|
||||
m.setSenderName(aliYunTranslate.translateWord(m.getSenderName(), aliyunCode));
|
||||
m.setContent(m.getContentPre() + aliYunTranslate.translateWord(m.getContent(), aliyunCode));
|
||||
});
|
||||
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
|
||||
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);
|
||||
vo.setNotReadCount(Integer.valueOf(Optional.ofNullable((String) stringRedisTemplate.opsForHash().get("chatMessage:notreaded:" + ticketId + ":admin:" + userId, "count")).orElse("0")));
|
||||
|
|
|
|||
|
|
@ -411,14 +411,20 @@ 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 -> {
|
||||
m.setSenderName(aliYunTranslate.translateWord(m.getSenderName(), aliyunCode));
|
||||
m.setContent(m.getContentPre() + aliYunTranslate.translateWord(m.getContent(), aliyunCode));
|
||||
});
|
||||
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
|
||||
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);
|
||||
vo.setNotReadCount(Integer.valueOf(Optional.ofNullable((String) stringRedisTemplate.opsForHash().get("chatMessage:notreaded:" + ticketId + ":app:" + userId, "count")).orElse("0")));
|
||||
|
|
@ -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()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -40,6 +40,9 @@ public class ChatMessageDTO {
|
|||
// 消息内容
|
||||
private String content;
|
||||
|
||||
// 是否撤回
|
||||
private boolean withdrawn = false;
|
||||
|
||||
//语音消息URL地址
|
||||
private String audioUrl;
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,9 @@ public class ChatMessageVO {
|
|||
// 消息内容
|
||||
private String content;
|
||||
|
||||
// 是否撤回
|
||||
private boolean withdrawn;
|
||||
|
||||
//语音消息URL地址
|
||||
private String audioUrl;
|
||||
|
||||
|
|
|
|||
|
|
@ -830,14 +830,20 @@ 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 -> {
|
||||
m.setSenderName(aliYunTranslate.translateWord(m.getSenderName(), aliyunCode));
|
||||
m.setContent(m.getContentPre() + aliYunTranslate.translateWord(m.getContent(), aliyunCode));
|
||||
});
|
||||
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
|
||||
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);
|
||||
vo.setNotReadCount(Integer.valueOf(Optional.ofNullable((String) stringRedisTemplate.opsForHash().get("chatMessage:notreaded:" + ticketId + ":admin:" + userId, "count")).orElse("0")));
|
||||
|
|
|
|||
|
|
@ -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){
|
||||
|
|
|
|||
Loading…
Reference in New Issue