|
|
@@ -1,5 +1,6 @@
|
|
|
package com.sckw.message.service;
|
|
|
|
|
|
+import com.sckw.core.model.auth.context.LoginUserHolder;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.utils.BeanUtils;
|
|
|
import com.sckw.core.utils.CollectionUtils;
|
|
|
@@ -42,15 +43,14 @@ public class MessageService {
|
|
|
* @date: 2023-06-09 14:21
|
|
|
*/
|
|
|
public List<KwmMessage> selectMessages(FindMessagesReqVO params) {
|
|
|
- //TODO 当前线程获取用户id
|
|
|
- List<KwmMessageUser> messageUsers = kwmMessageUserService.getByUserId(1L);
|
|
|
+ List<KwmMessageUser> messageUsers = kwmMessageUserService.getByUserId(LoginUserHolder.getUserId());
|
|
|
Map<Long, KwmMessageUser> map = messageUsers.stream().collect(Collectors.toMap(KwmMessageUser::getMsgId, e -> e, (k1, k2) -> k1));
|
|
|
if (CollectionUtils.isEmpty(map)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
List<Long> msgIds = map.keySet().stream().toList();
|
|
|
List<KwmMessage> list = kwmMessageService.getList(msgIds, params.getCategory(), params.getType(), null);
|
|
|
- list.forEach(e->{
|
|
|
+ list.forEach(e -> {
|
|
|
KwmMessageUser messageUser = map.get(e.getId());
|
|
|
e.setStatus(messageUser.getStatus());
|
|
|
e.setCreateTime(messageUser.getCreateTime());
|
|
|
@@ -69,8 +69,8 @@ public class MessageService {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void read(ReadMessagesReqVO reqVO) {
|
|
|
- //TODO 当前线程获取用户id
|
|
|
- List<Long> msgIds = kwmMessageUserService.getMsgIdsByUserId(1L);
|
|
|
+ Long userId = LoginUserHolder.getUserId();
|
|
|
+ List<Long> msgIds = kwmMessageUserService.getMsgIdsByUserId(userId);
|
|
|
if (CollectionUtils.isEmpty(msgIds)) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -78,7 +78,7 @@ public class MessageService {
|
|
|
//msgIds不为空直接更新用户消息为已读
|
|
|
if (CollectionUtils.isNotEmpty(ids)) {
|
|
|
List<Long> list = ids.stream().filter(msgIds::contains).toList();
|
|
|
- kwmMessageUserService.readByUserAndMsgIds(1L, list);
|
|
|
+ kwmMessageUserService.readByUserAndMsgIds(userId, list);
|
|
|
} else {
|
|
|
//msgIds为空根据category及type更新用户消息为已读
|
|
|
List<KwmMessage> messageList = kwmMessageService.getList(msgIds, reqVO.getCategory(), reqVO.getType(), 0);
|
|
|
@@ -86,7 +86,7 @@ public class MessageService {
|
|
|
return;
|
|
|
}
|
|
|
List<Long> updateMsgIds = messageList.stream().map(KwmMessage::getId).toList();
|
|
|
- kwmMessageUserService.readByUserAndMsgIds(1L, updateMsgIds);
|
|
|
+ kwmMessageUserService.readByUserAndMsgIds(userId, updateMsgIds);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -99,8 +99,8 @@ public class MessageService {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void delete(DeleteMessagesReqVO reqVO) {
|
|
|
- //TODO 当前线程获取用户id
|
|
|
- List<Long> msgIds = kwmMessageUserService.getMsgIdsByUserId(1L);
|
|
|
+ Long userId = LoginUserHolder.getUserId();
|
|
|
+ List<Long> msgIds = kwmMessageUserService.getMsgIdsByUserId(userId);
|
|
|
if (CollectionUtils.isEmpty(msgIds)) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -108,7 +108,7 @@ public class MessageService {
|
|
|
//msgIds不为空直接删除用户消息
|
|
|
if (CollectionUtils.isNotEmpty(ids)) {
|
|
|
List<Long> list = ids.stream().filter(msgIds::contains).toList();
|
|
|
- kwmMessageUserService.delByUserAndMsgIds(1L, list);
|
|
|
+ kwmMessageUserService.delByUserAndMsgIds(userId, list);
|
|
|
} else {
|
|
|
//msgIds为空,根据category及type查找删除用户消息
|
|
|
List<KwmMessage> messageList = kwmMessageService.getList(msgIds, reqVO.getCategory(), reqVO.getType(), null);
|
|
|
@@ -116,7 +116,7 @@ public class MessageService {
|
|
|
return;
|
|
|
}
|
|
|
List<Long> delMsgIds = messageList.stream().map(KwmMessage::getId).toList();
|
|
|
- kwmMessageUserService.delByUserAndMsgIds(1L, delMsgIds);
|
|
|
+ kwmMessageUserService.delByUserAndMsgIds(userId, delMsgIds);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -128,8 +128,8 @@ public class MessageService {
|
|
|
* @date: 2023-06-13 9:05
|
|
|
*/
|
|
|
public List<KwmMessage> select(SelectMessagesReqVO reqVO) {
|
|
|
- //TODO 当前线程获取用户id
|
|
|
- FindMessagePageParam findMessagePageParam = FindMessagePageParam.builder().userId(1L).category(reqVO.getCategory()).type(reqVO.getType()).build();
|
|
|
+ FindMessagePageParam findMessagePageParam = FindMessagePageParam.builder().userId(LoginUserHolder.getUserId())
|
|
|
+ .category(reqVO.getCategory()).type(reqVO.getType()).build();
|
|
|
return kwmMessageService.findPage(findMessagePageParam);
|
|
|
}
|
|
|
|
|
|
@@ -141,22 +141,21 @@ public class MessageService {
|
|
|
* @date: 2023-06-13 10:19
|
|
|
*/
|
|
|
public List<MessagesStatisticsResVO> statistics(String category) {
|
|
|
- //TODO 当前线程获取用户id
|
|
|
//获取用户未删除消息
|
|
|
- List<KwmMessageUser> messageUserList = kwmMessageUserService.getByUserId(1L);
|
|
|
- Map<Long, KwmMessageUser> messageUserMap = messageUserList.stream().collect(Collectors.toMap(KwmMessageUser::getMsgId, e -> e, (k1, k2) -> k1));
|
|
|
- if (CollectionUtils.isEmpty(messageUserMap)) {
|
|
|
+ List<KwmMessageUser> messageUsers = kwmMessageUserService.getByUserId(LoginUserHolder.getUserId());
|
|
|
+ Map<Long, KwmMessageUser> map = messageUsers.stream().collect(Collectors.toMap(KwmMessageUser::getMsgId, e -> e, (k1, k2) -> k1));
|
|
|
+ if (CollectionUtils.isEmpty(map)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
- List<Long> msgIds = messageUserMap.keySet().stream().toList();
|
|
|
+ List<Long> msgIds = map.keySet().stream().toList();
|
|
|
//根据消息ids获取message详情
|
|
|
List<KwmMessage> messages = kwmMessageService.statistics(msgIds, category);
|
|
|
if (CollectionUtils.isEmpty(messages)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
//设置用户消息状态及创建时间
|
|
|
- messages.forEach(e->{
|
|
|
- KwmMessageUser kwmMessageUser = messageUserMap.get(e.getId());
|
|
|
+ messages.forEach(e -> {
|
|
|
+ KwmMessageUser kwmMessageUser = map.get(e.getId());
|
|
|
e.setStatus(kwmMessageUser.getStatus());
|
|
|
e.setCreateTime(kwmMessageUser.getCreateTime());
|
|
|
});
|
|
|
@@ -190,11 +189,15 @@ public class MessageService {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public KwmMessage detail(Long id) {
|
|
|
- //TODO 当前线程获取用户id
|
|
|
+ Long userId = LoginUserHolder.getUserId();
|
|
|
+ KwmMessageUser messageUser = kwmMessageUserService.getByMsgIdAndUserId(id, userId);
|
|
|
+ if (Objects.isNull(messageUser)) {
|
|
|
+ return KwmMessage.builder().build();
|
|
|
+ }
|
|
|
KwmMessage message = kwmMessageService.getById(id);
|
|
|
List<Long> ids = Collections.singletonList(id);
|
|
|
//更新用户消息为已读状态
|
|
|
- kwmMessageUserService.readByUserAndMsgIds(1L, ids);
|
|
|
+ kwmMessageUserService.readByUserAndMsgIds(userId, ids);
|
|
|
return message;
|
|
|
}
|
|
|
}
|