From 7e7a40d049ece83570ae0d357c4b3a6a540fa1ed Mon Sep 17 00:00:00 2001 From: baymax55 Date: Tue, 22 Nov 2022 09:29:53 +0800 Subject: [PATCH] optimize DingMsg result --- .../platform/DingSendMessageHandler.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/hippo4j-message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java b/hippo4j-message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java index 5bbcb3b9..a8329e07 100644 --- a/hippo4j-message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java +++ b/hippo4j-message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java @@ -21,6 +21,8 @@ import cn.hippo4j.common.toolkit.CollectionUtil; import cn.hippo4j.common.toolkit.FileUtil; import cn.hippo4j.common.toolkit.Singleton; import cn.hippo4j.common.toolkit.StringUtil; +import cn.hippo4j.common.toolkit.JSONUtil; +import cn.hippo4j.common.toolkit.Assert; import cn.hippo4j.common.toolkit.http.HttpUtil; import cn.hippo4j.message.dto.NotifyConfigDTO; import cn.hippo4j.message.enums.NotifyPlatformEnum; @@ -28,6 +30,7 @@ import cn.hippo4j.message.platform.base.AbstractRobotSendMessageHandler; import cn.hippo4j.message.platform.base.RobotMessageActualContent; import cn.hippo4j.message.platform.base.RobotMessageExecuteDTO; import cn.hippo4j.message.platform.constant.DingAlarmConstants; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; @@ -42,6 +45,7 @@ import java.util.Objects; import static cn.hippo4j.message.platform.constant.DingAlarmConstants.*; /** + * doc:自定义机器人接入 * Send ding notification message. */ @Slf4j @@ -99,6 +103,21 @@ public class DingSendMessageHandler extends AbstractRobotSendMessageHandler { markdownJson.put("msgtype", "markdown"); markdownJson.put("markdown", markdown); markdownJson.put("at", at); - HttpUtil.post(serverUrl, markdownJson); + try { + String responseBody = HttpUtil.post(serverUrl, markdownJson); + DingRobotResponse response = JSONUtil.parseObject(responseBody, DingRobotResponse.class); + Assert.isTrue(response != null, "response is null"); + if (response.getErrcode() != 0) { + log.error("Ding failed to send message,reason : {}", response.errmsg); + } + } catch (Exception ex) { + log.error("Ding failed to send message", ex); + } + } + + @Data + static class DingRobotResponse { + private Long errcode; + private String errmsg; } }