Commit 126f953c by wei

修改被拉入群没有事件通知

parent d40473d8
......@@ -244,7 +244,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
return true;
}
ImClient client2 = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
ImClient passivityOperatorClient = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
.eq(ImClient::getFkAppid, imApplication.getId())
.eq(ImClient::getClientId, imConversationMemApiAdd.getPassivityOperator()));
......@@ -252,7 +252,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
ImConversationMembers members = imConversationMembersService.getOne(new QueryWrapper<ImConversationMembers>().lambda()
.eq(ImConversationMembers::getFkAppid, imApplication.getId())
.eq(ImConversationMembers::getFkConversationId, imConversationMemApiAdd.getConversationId())
.eq(ImConversationMembers::getFkClientId, client2.getId())
.eq(ImConversationMembers::getFkClientId, passivityOperatorClient.getId())
);
// 已经在该会话 则跳过
......@@ -266,7 +266,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
imConversationMembers2.setCreateTime(new Date());
imConversationMembers2.setFkAppid(imApplication.getId());
imConversationMembers2.setFkConversationId(imConversationMemApiAdd.getConversationId());
imConversationMembers2.setFkClientId(client2.getId());
imConversationMembers2.setFkClientId(passivityOperatorClient.getId());
// 添加到会话
imConversationMembersService.save(imConversationMembers2);
......@@ -302,6 +302,14 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
imMessage.setFkConversationId(imConversationMemApiAdd.getConversationId());
boolean save = imMessageService.save(imMessage);
//推送到被拉入方
Long fkConversationId = imConversationMemApiAdd.getConversationId();
String clientId = "0";
String toClientId = passivityOperatorClient.getClientId();
String imApplicationAppKey = imApplication.getAppKey();
sendEventMsg(messageId, (HashMap) content, fkConversationId, clientId, toClientId, imApplicationAppKey);
// 遍历发送
for (ImConversationMembers conversationMembers : membersList) {
......@@ -339,6 +347,29 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
}
private void sendEventMsg(long messageId, HashMap content, Long fkConversationId, String clientId, String toClientId, String imApplicationAppKey) {
// 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
imMessageOnlineSend.setMsgId(messageId);
imMessageOnlineSend.setSender(clientId);
imMessageOnlineSend.setContent(content);
imMessageOnlineSend.setConversationId(fkConversationId);
imMessageOnlineSend.setWithdraw(Boolean.FALSE);
imMessageOnlineSend.setEvent(Boolean.TRUE);
// 向接收方推送
WsResponseModel<ImMessageOnlineSend> responseModel = new WsResponseModel<>();
responseModel.setCmd(WsResponseCmdEnum.CONVERSATION_EVENT_MSG.getCmdCode());
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setData(imMessageOnlineSend);
responseModel.setReqId(null);
writeDataService.write(responseModel, imApplicationAppKey, toClientId);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateImConversationMembers(ImConversationMembers imConversationMembers) throws Exception {
......
......@@ -314,6 +314,14 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
imMessage.setFkConversationId(imClientToConversation.getConversationId());
boolean save = imMessageService.save(imMessage);
//推送到被拉入方
Long fkConversationId = imClientToConversation.getConversationId();
String clientId = imClientSender.getClientId();
String toClientId = client2.getClientId();
String imApplicationAppKey = imApplication.getAppKey();
sendEventMsg(messageId, (HashMap) content, fkConversationId, clientId, toClientId, imApplicationAppKey);
// 遍历发送
for (ImConversationMembers conversationMembers : membersList) {
......@@ -326,13 +334,23 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
continue;
}
sendEventMsg(messageId, (HashMap) content, conversationMembers.getFkConversationId(), imClientSender.getClientId(), imClientReceiver.getClientId(), imApplication.getAppKey());
}
}
return false;
}
private void sendEventMsg(long messageId, HashMap content, Long fkConversationId, String clientId, String toClientId, String imApplicationAppKey) {
// 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
imMessageOnlineSend.setMsgId(messageId);
imMessageOnlineSend.setSender(imClientSender.getClientId());
imMessageOnlineSend.setContent((HashMap) content);
imMessageOnlineSend.setConversationId(conversationMembers.getFkConversationId());
imMessageOnlineSend.setSender(clientId);
imMessageOnlineSend.setContent(content);
imMessageOnlineSend.setConversationId(fkConversationId);
imMessageOnlineSend.setWithdraw(Boolean.FALSE);
imMessageOnlineSend.setEvent(Boolean.TRUE);
......@@ -344,12 +362,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
responseModel.setMsg(result.getMessage());
responseModel.setData(imMessageOnlineSend);
responseModel.setReqId(null);
writeDataService.write(responseModel, imApplication.getAppKey(), imClientReceiver.getClientId());
}
}
return false;
writeDataService.write(responseModel, imApplicationAppKey, toClientId);
}
@Override
......@@ -442,24 +455,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
}
// 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
imMessageOnlineSend.setMsgId(messageId);
imMessageOnlineSend.setSender(imClientSender.getClientId());
imMessageOnlineSend.setContent((HashMap) content);
imMessageOnlineSend.setConversationId(conversationMembers.getFkConversationId());
imMessageOnlineSend.setWithdraw(Boolean.FALSE);
imMessageOnlineSend.setEvent(Boolean.TRUE);
// 向接收方推送
WsResponseModel<ImMessageOnlineSend> responseModel = new WsResponseModel<>();
responseModel.setCmd(WsResponseCmdEnum.CONVERSATION_EVENT_MSG.getCmdCode());
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setData(imMessageOnlineSend);
responseModel.setReqId(null);
writeDataService.write(responseModel, imApplication.getAppKey(), imClientReceiver.getClientId());
sendEventMsg(messageId, (HashMap) content, conversationMembers.getFkConversationId(), imClientSender.getClientId(), imClientReceiver.getClientId(), imApplication.getAppKey());
}
......@@ -554,24 +550,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
}
// 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
imMessageOnlineSend.setMsgId(messageId);
imMessageOnlineSend.setSender(imClientSender.getClientId());
imMessageOnlineSend.setContent((HashMap) content);
imMessageOnlineSend.setConversationId(conversationMembers.getFkConversationId());
imMessageOnlineSend.setWithdraw(Boolean.FALSE);
imMessageOnlineSend.setEvent(Boolean.TRUE);
// 向接收方推送
WsResponseModel<ImMessageOnlineSend> responseModel = new WsResponseModel<>();
responseModel.setCmd(WsResponseCmdEnum.CONVERSATION_EVENT_MSG.getCmdCode());
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setData(imMessageOnlineSend);
responseModel.setReqId(null);
writeDataService.write(responseModel, imApplication.getAppKey(), imClientReceiver.getClientId());
sendEventMsg(messageId, (HashMap) content, conversationMembers.getFkConversationId(), imClientSender.getClientId(), imClientReceiver.getClientId(), imApplication.getAppKey());
}
......
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