diff --git a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/SendTemplateMessageParam.java b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/SendTemplateMessageParam.java index 7e35fde..22b6eaf 100644 --- a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/SendTemplateMessageParam.java +++ b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/SendTemplateMessageParam.java @@ -25,6 +25,7 @@ public class SendTemplateMessageParam { /** * 发送人 */ + @NotBlank(message = "发送人不能为空") private PersonAccountAttribute sender; /** @@ -47,6 +48,7 @@ public class SendTemplateMessageParam { /** * 消息模板ID */ + @NotBlank(message = "消息模板ID不能为空") private String msgTemplateId; /** 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 3dd5dd4..8af2c59 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 @@ -40,7 +40,6 @@ import cn.axzo.im.service.RobotMsgTemplateService; import cn.axzo.im.updatable.UpdatableMessageManager; import cn.axzo.im.updatable.UpdatableMessageQueryService; import cn.axzo.im.updatable.UpdateSupport; -import cn.axzo.im.utils.BizAssertions; import cn.axzo.pokonyan.exception.Aassert; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -178,20 +177,19 @@ public class MessageController implements MessageApi { @Transactional public ApiResult sendTemplateMessageAsync(SendTemplateMessageParam request) { log.info("sendTemplateMessageAsync, request={}", request); + String templateImAccount = check(request); PersonAccountAttribute sender = request.getSender(); - BizAssertions.assertTrue(sender != null || StringUtils.isNotBlank(request.getMsgTemplateId()), - "消息模板ID和发送人必须选其一"); String sendImAccount; - if (sender != null) { + if (sender.getAppType() != null) { AccountAbsentQuery accountQuery = new AccountAbsentQuery(); accountQuery.setAppType(sender.getAppType().getCode()); accountQuery.setPersonId(sender.getPersonId()); accountQuery.setOuId(sender.getOuId()); + accountQuery.setAppType(sender.getAppType().getCode()); List accounts = accountService.registerAccountIfAbsent(accountQuery); sendImAccount = accounts.get(0).getImAccount(); } else { - //todo: 根据类型验证模版是否配置了机器人 - sendImAccount = check(request); + sendImAccount = templateImAccount; } MessageTask.BizData bizData = MessageTask.BizData.builder()