企业微信机器人自动消息发送webhook接入代码

主要代码类如下

package com.test.common;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.json.JSONObject;


/*
 * 文件名:com.test.common;.SendRobotMsgUtils.java
 * 简述:TODO
 * 详述: 
 * 新建时间:2022年5月2日 下午12:31:41
 * 修改内容:[新增]
 * 修改时间:2022年5月2日 下午12:31:41
 * 版本:1.0
 * 
 */
public class SendRobotMsgUtils {
    
    
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public boolean wechatRobotTxtMsg(String webhookUrl,String msgContent,List mentioned_mobile_list) {
        boolean falg=false;
        //webhook地址 
        String msgtype="text";
        HttpResponse response=null;
        try {
            if(webhookUrl!=null&&msgContent!=null) {
            HttpPost httpPost=new HttpPost(webhookUrl);
            CloseableHttpClient httpclient=HttpClients.createDefault();
            httpPost.setHeader("Content-Type", "application/json; charset=utf-8");
            Map param=new HashMap();
            param.put("msgtype",msgtype);
            Map param_msg=new HashMap();
            param_msg.put("content", msgContent);
            if(mentioned_mobile_list!=null&&mentioned_mobile_list.size()>0) {
                param_msg.put("mentioned_mobile_list", mentioned_mobile_list);
            }
            //封装消息体
            param.put(msgtype, param_msg);
            String txtmsg=JSONObject.valueToString(param);
            System.out.println("*************执行前txtmsg:"+txtmsg);
            StringEntity entity = new StringEntity(txtmsg, "utf-8");
            httpPost.setEntity(entity);
            System.out.println("*************执行前:"+httpPost.toString());
            response=httpclient.execute(httpPost);
            if(response!=null&&response.getStatusLine()!=null&&response.getStatusLine().getStatusCode()==200) {
                String responseStr=response.getEntity().toString();
                falg=true;
                System.out.println("*************执行结果:"+responseStr);
            }
            }else {
                System.out.println("*************输入参数为空********************************");
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return falg;
    }
    
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public boolean wechatRobotMarkdownMsg(String webhookUrl,String msgContent,List mentioned_mobile_list) {
        boolean falg=false;
        //webhook地址 
        String msgtype="markdown";
        HttpResponse response=null;
        try {
            if(webhookUrl!=null&&msgContent!=null) {
            HttpPost httpPost=new HttpPost(webhookUrl);
            CloseableHttpClient httpclient=HttpClients.createDefault();
            httpPost.setHeader("Content-Type", "application/json; charset=utf-8");
            Map param=new HashMap();
            param.put("msgtype",msgtype);
            Map param_msg=new HashMap();
            param_msg.put("content", msgContent);
            if(mentioned_mobile_list!=null) {
                param_msg.put("mentioned_mobile_list", mentioned_mobile_list);
            }
            //封装消息体
            param.put(msgtype, param_msg);
            String txtmsg=JSONObject.valueToString(param);
            System.out.println("*************执行前txtmsg:"+txtmsg);
            StringEntity entity = new StringEntity(txtmsg, "utf-8");
            httpPost.setEntity(entity);
            System.out.println("*************执行前:"+httpPost.toString());
            response=httpclient.execute(httpPost);
            if(response!=null&&response.getStatusLine()!=null&&response.getStatusLine().getStatusCode()==200) {
                String responseStr=response.getEntity().toString();
                falg=true;
                System.out.println("*************执行结果:"+responseStr);
            }
            }else {
                System.out.println("*************输入参数为空********************************");
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return falg;
    }
    

    public static void main(String[] args) {
        SendRobotMsgUtils srmu=new SendRobotMsgUtils();
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:SSS");
        String nowstr=sdf.format(new Date());
        String webhookUrl="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=c17661d0c2e6";
        String msgContent="监控机器人-普通文本消息\n消息时间:"+nowstr+";\n交易日期+支付渠道+渠道笔数+当日总笔数\n"
                + "你们所有人可以关闭此群消息!!!";
        List mlist=new ArrayList();
        mlist.add("@all");
        mlist.add("18688888888");
//        srmu.wechatRobotTxtMsg(webhookUrl,msgContent,mlist);
        String msgmkContent=
                "

监控名称

\r\n" + " \r\n" + " 编号\r\n" + " 用户名\r\n" + " 姓名\r\n" + " 联系电话\r\n" + " \r\n" + " \r\n" + " \r\n" + " 01\r\n" + " 张三\r\n" + " 姓名\r\n" + " 18688888888\r\n" + " \r\n" + "\r\n"; srmu.wechatRobotMarkdownMsg(webhookUrl, msgmkContent, mlist); } }

实际开发完成的功能效果可以访问:https://www.onekbit.com/wecha... 体验使用。

企业微信机器人自动消息发送webhook接入代码_第1张图片

使用微信机器人定时群发消息:

企业微信机器人自动消息发送webhook接入代码_第2张图片

你可能感兴趣的:(企业微信机器人自动消息发送webhook接入代码)