diff --git a/im-center-server/src/main/java/cn/axzo/im/controller/MessageController.java b/im-center-server/src/main/java/cn/axzo/im/controller/MessageController.java index bdd7fb0..129f497 100644 --- a/im-center-server/src/main/java/cn/axzo/im/controller/MessageController.java +++ b/im-center-server/src/main/java/cn/axzo/im/controller/MessageController.java @@ -251,17 +251,6 @@ public class MessageController implements MessageApi { String sendImAccount = accountService.registerAccountIfAbsent( sender.getPersonId(), sender.getOuId(), sender.getAppType()); BizAssertions.assertNotNull(sendImAccount, "创建账号失败"); - boolean syncSend = request.isTrySyncSend() - && CollectionUtils.isEmpty(request.receivePersonsOrEmpty()) - && request.getImReceiveAccounts() != null - && request.getImReceiveAccounts().size() == 1; - MessageTask.BizData bizData = MessageTask.BizData.builder() - .messageBody(JSON.toJSONString(request.getMessageBody())) - .isSenderRobot(false) - .syncSend(syncSend) - .senderPersonId(request.determineSenderPersonId()) - .nimMessageType(request.getMessageType()) - .build(); Date now = new Date(); List requestReceivePersons = JSONArray.parseArray( JSONObject.toJSONString(request.receivePersonsOrEmpty()), MessageTask.ReceivePerson.class); @@ -274,6 +263,15 @@ public class MessageController implements MessageApi { .build()); } } + int receiverSize = request.receivePersonsOrEmpty().size() + request.getImReceiveAccounts().size(); + boolean syncSend = request.isTrySyncSend() && receiverSize == 1; + MessageTask.BizData bizData = MessageTask.BizData.builder() + .messageBody(JSON.toJSONString(request.getMessageBody())) + .isSenderRobot(false) + .syncSend(syncSend) + .senderPersonId(request.determineSenderPersonId()) + .nimMessageType(request.getMessageType()) + .build(); Long taskId = transactionTemplate.execute(unused -> { MessageTask task = messageTaskService.create(MessageTask.builder() .bizId(request.getBizId())