Commit aa41cc02 by 罗长华

修复报错

parent 80891467
...@@ -37,7 +37,7 @@ public class Couriers { ...@@ -37,7 +37,7 @@ public class Couriers {
* @param cmd ws命令类型 * @param cmd ws命令类型
* @Return * @Return
*/ */
public void deliver(ImMessage message, ImClient sender, ImClient receiver, WsResponseCmdEnum cmd) { public void deliver(ImMessage message, Object content, ImClient sender, ImClient receiver, WsResponseCmdEnum cmd) {
// 封装响应的实体 // 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend(); ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
...@@ -45,7 +45,7 @@ public class Couriers { ...@@ -45,7 +45,7 @@ public class Couriers {
imMessageOnlineSend.setCreateTime(new Date()); imMessageOnlineSend.setCreateTime(new Date());
imMessageOnlineSend.setType(message.getMsgType()); imMessageOnlineSend.setType(message.getMsgType());
imMessageOnlineSend.setSender(sender.getClientId()); imMessageOnlineSend.setSender(sender.getClientId());
imMessageOnlineSend.setContent(message.getContent()); imMessageOnlineSend.setContent(content);
imMessageOnlineSend.setConversationId(message.getFkConversationId()); imMessageOnlineSend.setConversationId(message.getFkConversationId());
imMessageOnlineSend.setWithdraw(message.getWithdraw()); imMessageOnlineSend.setWithdraw(message.getWithdraw());
imMessageOnlineSend.setEvent(message.getEvent()); imMessageOnlineSend.setEvent(message.getEvent());
......
...@@ -296,7 +296,7 @@ public interface ImConversationService extends BaseService<ImConversation> { ...@@ -296,7 +296,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
* @Return * @Return
*/ */
void sendMsgToMembers(ImConversation conversation, List<ImConversationMembers> membersList, ImClient sender, void sendMsgToMembers(ImConversation conversation, List<ImConversationMembers> membersList, ImClient sender,
ImMessage message); ImMessage message, Object content);
} }
...@@ -297,7 +297,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -297,7 +297,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage imMessage = MessageBuilder.buildEventMessage(MsgTypeEnum.CLIENT_JOIN_NEW_CONVERSATION, imApplication, createClient, imConversation, JsonUtils.encodeJson(content)); ImMessage imMessage = MessageBuilder.buildEventMessage(MsgTypeEnum.CLIENT_JOIN_NEW_CONVERSATION, imApplication, createClient, imConversation, JsonUtils.encodeJson(content));
imMessageService.save(imMessage); imMessageService.save(imMessage);
// 投递消息 // 投递消息
couriers.deliver(imMessage, createClient, client2, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, content, createClient, client2, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} }
} }
ImConversationCreateVo imConversationCreateVo = new ImConversationCreateVo(); ImConversationCreateVo imConversationCreateVo = new ImConversationCreateVo();
...@@ -438,7 +438,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -438,7 +438,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
imMessage.setFkConversationId(imConversation.getId()); imMessage.setFkConversationId(imConversation.getId());
imMessageService.save(imMessage); imMessageService.save(imMessage);
// 投递消息 // 投递消息
couriers.deliver(imMessage, creator, member, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, content, creator, member, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} }
} }
ImConversationCreateVo imConversationCreateVo = new ImConversationCreateVo(); ImConversationCreateVo imConversationCreateVo = new ImConversationCreateVo();
...@@ -522,9 +522,9 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -522,9 +522,9 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage imMessage = MessageBuilder.buildEventMessage(MsgTypeEnum.INVITE_CLIENT_JOIN_CONVERSATION, imApplication, createClient, imConversation, JsonUtils.encodeJson(content)); ImMessage imMessage = MessageBuilder.buildEventMessage(MsgTypeEnum.INVITE_CLIENT_JOIN_CONVERSATION, imApplication, createClient, imConversation, JsonUtils.encodeJson(content));
boolean save = imMessageService.save(imMessage); boolean save = imMessageService.save(imMessage);
// 发送给在群内的成员 // 发送给在群内的成员
sendMsgToMembers(imConversation, membersList, createClient, imMessage); sendMsgToMembers(imConversation, membersList, createClient, imMessage, content);
// 发送给被邀请人 // 发送给被邀请人
couriers.deliver(imMessage, createClient, clientToConversation, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, content, createClient, clientToConversation, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} }
// 将群成员数量减 // 将群成员数量减
...@@ -588,7 +588,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -588,7 +588,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
Long appId = imApplication.getId(); Long appId = imApplication.getId();
String sender = imClientSender.getClientId(); String sender = imClientSender.getClientId();
Integer msgType = imMessage.getMsgType(); Integer msgType = imMessage.getMsgType();
sendMsgToMembers(imConversation, membersList, createClient, imMessage); sendMsgToMembers(imConversation, membersList, createClient, imMessage, content);
} }
// 将群成员数量减 // 将群成员数量减
...@@ -630,7 +630,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -630,7 +630,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage imMessage = MessageBuilder.buildEventMessage(MsgTypeEnum.CONVERSATION_DISBAND, imApplication, currentClient, imConversation, JsonUtils.encodeJson(content)); ImMessage imMessage = MessageBuilder.buildEventMessage(MsgTypeEnum.CONVERSATION_DISBAND, imApplication, currentClient, imConversation, JsonUtils.encodeJson(content));
imMessageService.save(imMessage); imMessageService.save(imMessage);
sendMsgToMembers(imConversation, membersList, currentClient, imMessage); sendMsgToMembers(imConversation, membersList, currentClient, imMessage, content);
} }
/** /**
...@@ -659,7 +659,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -659,7 +659,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for (ImClient receiver : clientReceivers) { for (ImClient receiver : clientReceivers) {
// 投递消息 // 投递消息
try { try {
couriers.deliver(imMessage, currentClient, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, content, currentClient, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} catch (Exception e) { } catch (Exception e) {
log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver)); log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver));
} }
...@@ -709,7 +709,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -709,7 +709,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
throw new BusinessException("退出群聊错误"); throw new BusinessException("退出群聊错误");
} }
sendMsgToMembers(imConversation, membersList, currentClient, imMessage); sendMsgToMembers(imConversation, membersList, currentClient, imMessage, null);
// 群主退出 转移给下一个人 // 群主退出 转移给下一个人
if (GroupRoleEnum.OWNER.getCode().equals(members.getRole())) { if (GroupRoleEnum.OWNER.getCode().equals(members.getRole())) {
ImConversationMembers conversationMember = membersList.get(0); ImConversationMembers conversationMember = membersList.get(0);
...@@ -873,7 +873,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -873,7 +873,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
content.put("name", imConversation.getName()); content.put("name", imConversation.getName());
// 发送消息至成员 // 发送消息至成员
ImMessage message = MessageBuilder.buildEventMessage(MsgTypeEnum.CONVERSATION_NAME_CHANGE, imApplication, currentClient, imConversation, ""); ImMessage message = MessageBuilder.buildEventMessage(MsgTypeEnum.CONVERSATION_NAME_CHANGE, imApplication, currentClient, imConversation, "");
sendMsgToMembers(imConversation, membersList, currentClient, message); sendMsgToMembers(imConversation, membersList, currentClient, message, content);
return ApiResult.ok(); return ApiResult.ok();
} else { } else {
return ApiResult.fail(); return ApiResult.fail();
...@@ -910,7 +910,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -910,7 +910,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
message.setWithdraw(Boolean.FALSE); message.setWithdraw(Boolean.FALSE);
message.setEvent(Boolean.TRUE); message.setEvent(Boolean.TRUE);
message.setMsgType(MsgTypeEnum.CONVERSATION_EXPAND_FIELD_CHANGE.getUriCode()); message.setMsgType(MsgTypeEnum.CONVERSATION_EXPAND_FIELD_CHANGE.getUriCode());
sendMsgToMembers(imConversation, membersList, currentClient, message); sendMsgToMembers(imConversation, membersList, currentClient, message, null);
} else { } else {
throw new BusinessException("修改错误"); throw new BusinessException("修改错误");
} }
...@@ -941,7 +941,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -941,7 +941,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for (ImClient receiver : clientReceivers) { for (ImClient receiver : clientReceivers) {
// 投递消息 // 投递消息
try { try {
couriers.deliver(imMessage, currentClient, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, null, currentClient, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} catch (Exception e) { } catch (Exception e) {
log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver)); log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver));
} }
...@@ -1167,7 +1167,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -1167,7 +1167,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
// 查询该会话所有成员 // 查询该会话所有成员
List<ImConversationMembers> membersList = imConversationMembersService.list(new QueryWrapper<ImConversationMembers>().lambda().eq(ImConversationMembers::getFkAppid, currentClient.getFkAppid()).eq(ImConversationMembers::getFkConversationId, param.getConversationId()).ne(ImConversationMembers::getFkClientId, currentClient.getId())); List<ImConversationMembers> membersList = imConversationMembersService.list(new QueryWrapper<ImConversationMembers>().lambda().eq(ImConversationMembers::getFkAppid, currentClient.getFkAppid()).eq(ImConversationMembers::getFkConversationId, param.getConversationId()).ne(ImConversationMembers::getFkClientId, currentClient.getId()));
ImMessage message = MessageBuilder.buildEventMessage(MsgTypeEnum.CONVERSATION_SET_GROUP_PORTRAIT, imApplication, currentClient, imConversation, ""); ImMessage message = MessageBuilder.buildEventMessage(MsgTypeEnum.CONVERSATION_SET_GROUP_PORTRAIT, imApplication, currentClient, imConversation, "");
sendMsgToMembers(imConversation, membersList, currentClient, message); sendMsgToMembers(imConversation, membersList, currentClient, message, null);
} else { } else {
throw new BusinessException("修改错误"); throw new BusinessException("修改错误");
} }
...@@ -1230,7 +1230,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -1230,7 +1230,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for (ImClient receiver : clientReceivers) { for (ImClient receiver : clientReceivers) {
// 投递消息 // 投递消息
try { try {
couriers.deliver(imMessage, imClientSender, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, content, imClientSender, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} catch (Exception e) { } catch (Exception e) {
log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver)); log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver));
} }
...@@ -1279,7 +1279,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -1279,7 +1279,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for (ImClient receiver : clientReceivers) { for (ImClient receiver : clientReceivers) {
// 投递消息 // 投递消息
try { try {
couriers.deliver(imMessage, currentClient, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(imMessage, null, currentClient, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} catch (Exception e) { } catch (Exception e) {
log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver)); log.info("下发群会话事件失败,事件类型 {} 接收人 {}", imMessage.getMsgType(), JSON.toJSONString(receiver));
} }
...@@ -1423,7 +1423,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -1423,7 +1423,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage imMessage = MessageBuilder.buildEventMessage(msgType, application, currentClient, conversation, JsonUtils.encodeJson(content)); ImMessage imMessage = MessageBuilder.buildEventMessage(msgType, application, currentClient, conversation, JsonUtils.encodeJson(content));
imMessageService.save(imMessage); imMessageService.save(imMessage);
// 发送消息至群成员 // 发送消息至群成员
sendMsgToMembers(conversation, membersList, currentClient, imMessage); sendMsgToMembers(conversation, membersList, currentClient, imMessage, content);
} }
} }
...@@ -1438,7 +1438,8 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -1438,7 +1438,8 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
* @Date 2022年04月27日 02:11:19 * @Date 2022年04月27日 02:11:19
*/ */
@Override @Override
public void sendMsgToMembers(ImConversation conversation, List<ImConversationMembers> membersList, ImClient sender, ImMessage message) { public void sendMsgToMembers(ImConversation conversation, List<ImConversationMembers> membersList,
ImClient sender, ImMessage message, Object content) {
Long appId = conversation.getId(); Long appId = conversation.getId();
List<Long> receiverClientIds = membersList.stream().map(ImConversationMembers::getFkClientId).collect(Collectors.toList()); List<Long> receiverClientIds = membersList.stream().map(ImConversationMembers::getFkClientId).collect(Collectors.toList());
...@@ -1447,7 +1448,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -1447,7 +1448,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for (ImClient receiver : clientReceivers) { for (ImClient receiver : clientReceivers) {
// 投递消息 // 投递消息
try { try {
couriers.deliver(message, sender, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG); couriers.deliver(message, content, sender, receiver, WsResponseCmdEnum.CONVERSATION_EVENT_MSG);
} catch (Exception e) { } catch (Exception e) {
log.info("下发群会话事件失败,事件类型 {} 接收人 {}", message.getMsgType(), JSON.toJSONString(receiver)); log.info("下发群会话事件失败,事件类型 {} 接收人 {}", message.getMsgType(), JSON.toJSONString(receiver));
} }
......
...@@ -150,7 +150,7 @@ public class ImGroupServiceImpl implements ImGroupService { ...@@ -150,7 +150,7 @@ public class ImGroupServiceImpl implements ImGroupService {
operator, conversation, JsonUtils.encodeJson(content)); operator, conversation, JsonUtils.encodeJson(content));
// 保存消息至消息表 // 保存消息至消息表
imMessageService.save(imMessage); imMessageService.save(imMessage);
conversationService.sendMsgToMembers(conversation, membersList, operator, imMessage); conversationService.sendMsgToMembers(conversation, membersList, operator, imMessage, content);
return true; return true;
} }
......
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