Commit 126f953c by wei

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

parent d40473d8
...@@ -244,7 +244,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa ...@@ -244,7 +244,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
return true; 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::getFkAppid, imApplication.getId())
.eq(ImClient::getClientId, imConversationMemApiAdd.getPassivityOperator())); .eq(ImClient::getClientId, imConversationMemApiAdd.getPassivityOperator()));
...@@ -252,7 +252,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa ...@@ -252,7 +252,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
ImConversationMembers members = imConversationMembersService.getOne(new QueryWrapper<ImConversationMembers>().lambda() ImConversationMembers members = imConversationMembersService.getOne(new QueryWrapper<ImConversationMembers>().lambda()
.eq(ImConversationMembers::getFkAppid, imApplication.getId()) .eq(ImConversationMembers::getFkAppid, imApplication.getId())
.eq(ImConversationMembers::getFkConversationId, imConversationMemApiAdd.getConversationId()) .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 ...@@ -266,7 +266,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
imConversationMembers2.setCreateTime(new Date()); imConversationMembers2.setCreateTime(new Date());
imConversationMembers2.setFkAppid(imApplication.getId()); imConversationMembers2.setFkAppid(imApplication.getId());
imConversationMembers2.setFkConversationId(imConversationMemApiAdd.getConversationId()); imConversationMembers2.setFkConversationId(imConversationMemApiAdd.getConversationId());
imConversationMembers2.setFkClientId(client2.getId()); imConversationMembers2.setFkClientId(passivityOperatorClient.getId());
// 添加到会话 // 添加到会话
imConversationMembersService.save(imConversationMembers2); imConversationMembersService.save(imConversationMembers2);
...@@ -302,6 +302,14 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa ...@@ -302,6 +302,14 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
imMessage.setFkConversationId(imConversationMemApiAdd.getConversationId()); imMessage.setFkConversationId(imConversationMemApiAdd.getConversationId());
boolean save = imMessageService.save(imMessage); 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) { for (ImConversationMembers conversationMembers : membersList) {
...@@ -339,6 +347,29 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa ...@@ -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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean updateImConversationMembers(ImConversationMembers imConversationMembers) throws Exception { public boolean updateImConversationMembers(ImConversationMembers imConversationMembers) throws Exception {
......
...@@ -314,6 +314,14 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -314,6 +314,14 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
imMessage.setFkConversationId(imClientToConversation.getConversationId()); imMessage.setFkConversationId(imClientToConversation.getConversationId());
boolean save = imMessageService.save(imMessage); 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) { for (ImConversationMembers conversationMembers : membersList) {
...@@ -326,25 +334,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -326,25 +334,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
continue; continue;
} }
// 封装响应的实体 sendEventMsg(messageId, (HashMap) content, conversationMembers.getFkConversationId(), imClientSender.getClientId(), imClientReceiver.getClientId(), imApplication.getAppKey());
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());
} }
...@@ -352,6 +342,29 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -352,6 +342,29 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
return false; 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(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);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ApiResult<Boolean> delClientToConversation(ImClientToConversation imClientToConversation) throws Exception { public ApiResult<Boolean> delClientToConversation(ImClientToConversation imClientToConversation) throws Exception {
...@@ -442,24 +455,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -442,24 +455,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
} }
// 封装响应的实体 // 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend(); sendEventMsg(messageId, (HashMap) content, conversationMembers.getFkConversationId(), imClientSender.getClientId(), imClientReceiver.getClientId(), imApplication.getAppKey());
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());
} }
...@@ -554,24 +550,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -554,24 +550,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
} }
// 封装响应的实体 // 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend(); sendEventMsg(messageId, (HashMap) content, conversationMembers.getFkConversationId(), imClientSender.getClientId(), imClientReceiver.getClientId(), imApplication.getAppKey());
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());
} }
......
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