欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年07月15日 10:13:53   作者:Sibylsf  
本文主要介紹了SpringBoot接入釘釘自定義機器人預警通知,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、使用pom安裝依賴

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

2、發(fā)送機器人消息規(guī)則

釘釘公開API

https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx

3、釘釘消息發(fā)送代碼

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:釘釘消息發(fā)送工具類
 * @Date: 10:44 AM 2019/6/12
 * @Modified By:
 */
@Slf4j
public class DingDingMsgSendUtils {
 
 
    /**
     * 處理發(fā)送的釘釘消息
     *
     * @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("【發(fā)送釘釘群消息】消息響應結果:" + JSON.toJSONString(result));
            }
        } catch (Exception e) {
            log.error("【發(fā)送釘釘群消息】error:" + e.getMessage(), e);
        }
    }
 
    /**
     * 發(fā)送釘釘群消息
     *
     * @param accessToken
     * @param content
     */
    public static void sendDingDingGroupMsg(String accessToken, String content) {
        String textMsg = "{ \"msgtype\": \"text\", \"text\": {\"content\": \"" + content + "\"}}";
        dealDingDingMsgSend(accessToken, textMsg);
    }
 
    /**
     * 發(fā)送釘釘群消息(可以艾特人)
     *
     * @param accessToken 群機器人accessToken
     * @param content     發(fā)送內容
     * @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系統(tǒng)消息】釘釘消息推送測試,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", "系統(tǒng)消息通知,技術專用");
    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 + "環(huán)境,errorMsg=" + ex, DingMsgPhoneEnum.DEVELOPER_PHONE_yansf.getPhone());
}

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

4、 結果演示

到此這篇關于SpringBoot接入釘釘自定義機器人預警通知的文章就介紹到這了,更多相關SpringBoot釘釘機器人預警內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java編程數組中最大子矩陣簡便解法實現代碼

    Java編程數組中最大子矩陣簡便解法實現代碼

    這篇文章主要介紹了Java編程數組中最大子矩陣簡便解法實現代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Java Spring的refresh方法你知道嗎

    Java Spring的refresh方法你知道嗎

    這篇文章主要為大家詳細介紹了Java Spring的refresh方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • JAVA大作業(yè)之圖書管理系統(tǒng)實現全解

    JAVA大作業(yè)之圖書管理系統(tǒng)實現全解

    隨著網絡技術的高速發(fā)展,計算機應用的普及,利用計算機對圖書館的日常工作進行管理勢在必行,本篇文章手把手帶你用Java實現一個圖書管理系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2022-01-01
  • 一文讓你搞懂如何手寫一個redis分布式鎖

    一文讓你搞懂如何手寫一個redis分布式鎖

    既然要搞懂Redis分布式鎖,那肯定要有一個需要它的場景。高并發(fā)售票問題就是一個經典案例。本文就來利用這個場景手寫一個redis分布式鎖,讓你徹底搞懂它
    2022-11-11
  • Spring配置多個數據源并實現數據源的動態(tài)切換功能

    Spring配置多個數據源并實現數據源的動態(tài)切換功能

    這篇文章主要介紹了Spring配置多個數據源并實現數據源的動態(tài)切換功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Java進階之高并發(fā)核心Selector詳解

    Java進階之高并發(fā)核心Selector詳解

    前幾篇文章介紹了Java高并發(fā)的一些基礎內容,認識了Channel,Buffer和Selector的基本用法,有了感性認識之后,來看看Selector的底層是如何實現的。,需要的朋友可以參考下
    2021-05-05
  • SpringBoot中支持Https協(xié)議的實現

    SpringBoot中支持Https協(xié)議的實現

    本文主要介紹了SpringBoot中支持Https協(xié)議的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Maven配置多倉庫無效的解決

    Maven配置多倉庫無效的解決

    在項目中使用Maven管理jar包依賴往往會出現很多問題,所以這時候就需要配置Maven多倉庫,本文介紹了如何配置以及問題的解決
    2021-05-05
  • 解決springboot 啟動找不到主類的問題

    解決springboot 啟動找不到主類的問題

    這篇文章主要介紹了解決springboot 啟動找不到主類的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot項目中使用@Scheduled讀取動態(tài)參數

    SpringBoot項目中使用@Scheduled讀取動態(tài)參數

    這篇文章主要介紹了SpringBoot項目中使用@Scheduled讀取動態(tài)參數,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論