Commit 538abb7a by Future

设置消息已读

parent 79c50c8d
......@@ -161,7 +161,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
List<ImInbox> imInboxList = this.list(new QueryWrapper<ImInbox>().lambda()
.eq(ImInbox::getFkConversationId, param.getConversationId())
.le(ImInbox::getFkMsgId, param.getMsgIdEnd())
.notIn(ImInbox::getReceiver, currentClient.getId()));
.eq(ImInbox::getReceiver, currentClient.getId()));
if (CollectionUtils.isEmpty(imInboxList)) {
return true;
}
......@@ -180,36 +180,32 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
/**
* 下发状态类型消息
*
* @param curentClient 当前客户端
* @param currentClient 当前客户端
* @param msgTypeEnum 消息类型枚举
* @param contentMap 消息content内容
* @param msgIds 消息id集合
*/
private void sendMsgStatus(ImClient curentClient, MsgTypeEnum msgTypeEnum, HashMap<String, String> contentMap, List<Long> msgIds) {
private void sendMsgStatus(ImClient currentClient, MsgTypeEnum msgTypeEnum, HashMap<String, String> contentMap, List<Long> msgIds) {
// 遍历消息id集合
for (Long msgId : msgIds) {
// 查询该消息
ImMessage imMessageDb = imMessageService.getById(msgId);
// 根据会话id查询该会话所有成员
List<ImConversationMembers> membersList = imConversationMembersService.list(
new QueryWrapper<ImConversationMembers>().lambda()
.eq(ImConversationMembers::getFkConversationId, imMessageDb.getFkConversationId())
.notIn(ImConversationMembers::getFkClientId, curentClient.getId())
.notIn(ImConversationMembers::getFkClientId, currentClient.getId())
);
// 遍历发送给该会话的每个成员
for (ImConversationMembers conversationMember : membersList) {
// 消息实体
ImMessage imMessage = new ImMessage();
imMessage.setId(msgId);
imMessage.setMsgType(msgTypeEnum.getUriCode());
imMessage.setCreateTime(new Date());
imMessage.setFkAppid(curentClient.getFkAppid());
imMessage.setSender(curentClient.getId());
imMessage.setFkAppid(currentClient.getFkAppid());
imMessage.setSender(currentClient.getId());
imMessage.setWithdraw(false);
imMessage.setEvent(true);
imMessage.setSystemFlag(false);
......@@ -222,12 +218,12 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
imMessageOnlineSend.setType(msgTypeEnum.getUriCode());
imMessageOnlineSend.setMsgId(imMessage.getId());
imMessageOnlineSend.setCreateTime(new Date());
imMessageOnlineSend.setSender(curentClient.getClientId());
imMessageOnlineSend.setSender(currentClient.getClientId());
imMessageOnlineSend.setContent(contentMap);
imMessageOnlineSend.setConversationId(conversationMember.getFkConversationId());
// 查询接收方
ImClient imClientReceiver = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
.eq(ImClient::getFkAppid, curentClient.getFkAppid())
.eq(ImClient::getFkAppid, currentClient.getFkAppid())
.eq(ImClient::getId, conversationMember.getFkClientId()));
if (imClientReceiver == null) {
continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment