|
|
@@ -1,5 +1,6 @@
|
|
|
package com.sckw.message.service;
|
|
|
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.sckw.core.common.enums.enums.DictEnum;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.exception.BusinessException;
|
|
|
@@ -122,12 +123,17 @@ public class MessageService {
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ String clientType = LoginUserHolder.getClientType();
|
|
|
List<Long> userIds = list.stream().map(MessageListDTO::getCreateBy).toList();
|
|
|
Map<Long, UserCacheResDto> map = remoteSystemService.queryUserCacheMapByIds(userIds);
|
|
|
List<KwmMessageListResVO> result = new ArrayList<>(list.size());
|
|
|
list.forEach(e -> {
|
|
|
UserCacheResDto user = map.get(e.getCreateBy());
|
|
|
KwmMessageListResVO res = BeanUtils.copyProperties(e, KwmMessageListResVO.class);
|
|
|
+ if (Objects.nonNull(e.getUrl())) {
|
|
|
+ Map<String, Object> urlMap = JSONObject.parse(e.getUrl());
|
|
|
+ res.setUrl(Objects.isNull(urlMap.get(clientType)) ? null : urlMap.get(clientType).toString());
|
|
|
+ }
|
|
|
res.setStatusLabel(MsgStatusEnum.getNameByCode(res.getStatus()));
|
|
|
res.setCategoryLabel(DictEnum.getLabel(DictTypeEnum.MSG_CATEGORY.getType(), e.getCategory()));
|
|
|
if (Objects.nonNull(user)) {
|
|
|
@@ -207,6 +213,11 @@ public class MessageService {
|
|
|
}
|
|
|
KwmMessageUser kwmMessageUser = msgList.get(0);
|
|
|
KwmMessage message = kwmMessageService.getById(kwmMessageUser.getMsgId());
|
|
|
+ if (Objects.nonNull(message.getUrl())) {
|
|
|
+ String clientType = LoginUserHolder.getClientType();
|
|
|
+ Map<String, Object> urlMap = JSONObject.parse(message.getUrl());
|
|
|
+ message.setUrl(Objects.isNull(urlMap.get(clientType)) ? null : urlMap.get(clientType).toString());
|
|
|
+ }
|
|
|
//更新用户消息为已读状态
|
|
|
kwmMessageUserService.readByMsgIds(ids);
|
|
|
return message;
|
|
|
@@ -268,11 +279,17 @@ public class MessageService {
|
|
|
if (CollectionUtils.isEmpty(result)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ String clientType = LoginUserHolder.getClientType();
|
|
|
result.forEach(e -> {
|
|
|
dto.setStatus(e.getStatus()).setType(e.getType());
|
|
|
UserMsgCenterLatestMsgDTO msg = kwmMessageUserService.getLatestMsg(dto);
|
|
|
- e.setId(msg.getId()).setTitle(msg.getTitle()).setContent(msg.getContent())
|
|
|
- .setUrl(msg.getUrl()).setCreateTime(msg.getCreateTime());
|
|
|
+ if (Objects.nonNull(msg.getUrl())) {
|
|
|
+ Map<String, Object> urlMap = JSONObject.parse(msg.getUrl());
|
|
|
+ e.setUrl(Objects.isNull(urlMap.get(clientType)) ? null : urlMap.get(clientType).toString());
|
|
|
+ }
|
|
|
+ e.setId(msg.getId()).setTitle(msg.getTitle())
|
|
|
+ .setContent(msg.getContent())
|
|
|
+ .setCreateTime(msg.getCreateTime());
|
|
|
});
|
|
|
return result;
|
|
|
}
|