中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot怎么接入釘釘自定義機器人預警通知

發布時間:2022-07-15 14:00:27 來源:億速云 閱讀:485 作者:iii 欄目:開發技術

本篇內容主要講解“SpringBoot怎么接入釘釘自定義機器人預警通知”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SpringBoot怎么接入釘釘自定義機器人預警通知”吧!

1、使用pom安裝依賴

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.8</version>
</dependency>

2、發送機器人消息規則

SpringBoot怎么接入釘釘自定義機器人預警通知

SpringBoot怎么接入釘釘自定義機器人預警通知

3、釘釘消息發送代碼

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONSerializer;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
 
import java.util.*;
 
/**
 * @Author: yansf
 * @Description:釘釘消息發送工具類
 * @Date: 10:44 AM 2019/6/12
 * @Modified By:
 */
@Slf4j
public class DingDingMsgSendUtils {
 
 
    /**
     * 處理發送的釘釘消息
     *
     * @param accessToken
     * @param textMsg
     */
    private static void dealDingDingMsgSend(String accessToken, String textMsg) {
        HttpClient httpclient = HttpClients.createDefault();
        String WEBHOOK_TOKEN = "https://oapi.dingtalk.com/robot/send?access_token=" + accessToken;
        HttpPost httppost = new HttpPost(WEBHOOK_TOKEN);
        httppost.addHeader("Content-Type", "application/json; charset=utf-8");
 
        StringEntity se = new StringEntity(textMsg, "utf-8");
        httppost.setEntity(se);
 
        try {
            HttpResponse response = httpclient.execute(httppost);
            if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                String result = EntityUtils.toString(response.getEntity(), "utf-8");
                log.info("【發送釘釘群消息】消息響應結果:" + JSON.toJSONString(result));
            }
        } catch (Exception e) {
            log.error("【發送釘釘群消息】error:" + e.getMessage(), e);
        }
    }
 
    /**
     * 發送釘釘群消息
     *
     * @param accessToken
     * @param content
     */
    public static void sendDingDingGroupMsg(String accessToken, String content) {
        String textMsg = "{ \"msgtype\": \"text\", \"text\": {\"content\": \"" + content + "\"}}";
        dealDingDingMsgSend(accessToken, textMsg);
    }
 
    /**
     * 發送釘釘群消息(可以艾特人)
     *
     * @param accessToken 群機器人accessToken
     * @param content     發送內容
     * @param atPhone     艾特人電話,如:176********,156********,
     */
    public static void sendDingDingGroupMsg(String accessToken, String content, String atPhone) {
        content = content.replace("\"", "'");
        String textMsg = "";
 
//        String textMsg = "{\n" +
//                "    \"msgtype\": \"text\", \n" +
//                "    \"text\": {\n" +
//                "        \"content\": \"" + content + "\"\n" +
//                "    }, \n" +
//                "    \"at\": {\n" +
//                "        \"atMobiles\": [\n" +
//                "            " + atPhone +
//                "        ], \n" +
//                "        \"isAtAll\": false\n" +
//                "    }\n" +
//                "}";
 
        MsgDto msgDto = new MsgDto();
        msgDto.setMsgtype("text");
 
        TextDto textDto = new TextDto();
        textDto.setContent(content);
        msgDto.setText(textDto);
 
        AtDto atDto = new AtDto();
        atDto.setIsAtAll(false);
 
        List<String> result = Arrays.asList(atPhone.split(","));
        atDto.setAtMobiles(result);
        msgDto.setAt(atDto);
 
        textMsg = JSONSerializer.toJSON(msgDto).toString();
        System.out.println(textMsg);
        dealDingDingMsgSend(accessToken, textMsg);
    }
 
 
    public static void main(String[] args) {
        try {
            int s = Integer.parseInt("df12");
//            System.out.println(1 / 0);
        } catch (Exception e) {
            //e.printStackTrace();
            sendDingDingGroupMsg(DingTokenEnum.SEND_SMS_BY_DEVELOPER_TOKEN.getToken(), "【JAVA系統消息】釘釘消息推送測試,by:閆淑芳..." + e, DingMsgPhoneEnum.DEVELOPER_PHONE_yansf.getPhone());
        }
 
    }
 
}
import lombok.Getter;
 
/**
 * @Author: yansf
 * @Description:釘釘消息接收用戶,配置釘釘綁定的電話即可
 * @Date: 10:44 AM 2019/6/12
 * @Modified By:
 */
@Getter
public enum DingMsgPhoneEnum {
    GENERAL_PURPOSE("176*****983", "bug不存在的"),
    DEVELOPER_PHONE_yansf("176*****983", "yansf"),
    DEVELOPER_PHONE_all("176*****983,176*****982,176*****981,176*****980", "all"),
    PRODUCT_PERSONNEL_PHONE("", "產品人員"),
    DATA_ANALYST_PHONE("", "數據分析人員");
    private String phone;
    private String name;
    DingMsgPhoneEnum(String phone, String name) {
        this.phone = phone;
        this.name = name;
    }
 
}
import lombok.Getter;
 
/**
 * @Author: yansf
 * @Description:釘釘消息群機器人access_token
 * @Date: 10:45 AM 2019/6/12
 * @Modified By:
 */
@Getter
public enum DingTokenEnum {
    SEND_SMS_BY_DEVELOPER_TOKEN("此處自己申請token", "系統消息通知,技術專用");
    private String token;
    private String name;
    DingTokenEnum(String token, String name) {
        this.token = token;
        this.name = name;
    }
}
import lombok.Data;
import java.util.List;
 
/**
 * @Author: yansf
 * @Description:
 * @Date:Creat in 2:13 PM 2019/6/12
 * @Modified By:
 */
@Data
public class AtDto {
    private List<String> atMobiles;
    private Boolean isAtAll = false;
}
import lombok.Data;
 
/**
 * @Author: yansf
 * @Description:
 * @Date:Creat in 2:13 PM 2019/6/12
 * @Modified By:
 */
@Data
public class MsgDto {
    private String msgtype;
    private TextDto text;
    private  AtDto at;
 
}
import lombok.Data;
/**
 * @Author: yansf
 * @Description:
 * @Date:Creat in 2:13 PM 2019/6/12
 * @Modified By:
 */
@Data
public class TextDto {
    private String content;
}
異常捕獲
try{
//todo
} catch (Exception ex) {
DingDingMsgSendUtils.sendDingDingGroupMsg(DingTokenEnum.SEND_SMS_BY_DEVELOPER_TOKEN.getToken(), "***異常," + profile + "環境,errorMsg=" + ex, DingMsgPhoneEnum.DEVELOPER_PHONE_yansf.getPhone());
}

profile配置
@Value("${spring.profiles.active}") private String profile;

4、 結果演示

SpringBoot怎么接入釘釘自定義機器人預警通知

到此,相信大家對“SpringBoot怎么接入釘釘自定義機器人預警通知”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉水县| 芦山县| 深泽县| 防城港市| 定南县| 句容市| 天全县| 莱芜市| 成安县| 沁水县| 那坡县| 聂荣县| 英吉沙县| 安陆市| 原平市| 色达县| 鲜城| 保山市| 龙游县| 茌平县| 台中县| 湖南省| 鄱阳县| 鹤峰县| 蒙山县| 博罗县| 正阳县| 石首市| 揭阳市| 称多县| 胶州市| 安宁市| 光山县| 平湖市| 津南区| 右玉县| 镇坪县| 黄龙县| 招远市| 本溪市| 德江县|