zoukankan      html  css  js  c++  java
  • 钉钉推送模板

    钉钉推送java类模板

    依赖jar包:

    httpclient-4.5.5.jar
    httpcore-4.4.1.jar
    httpclient-cache-4.1.3.jar

    package base.util;
    
    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 org.apache.log4j.Logger;
    
    /**
     * @author 马家立
     * @version 创建时间:2020年2月4日上午10:27:34
     * @Description:TODO 钉钉推送Util
     */
    public class DingDingSendUtil {
        static Logger forPk = Logger.getLogger("forPk");
        //推送到钉钉的department群指令
        static String pk_WEBHOOK_TOKEN ="https://oapi.dingtalk.com/robot/send?access_token=略";
        
        /**
         * @Title:sendDingPkMessage
         * @author:马家立
         * @date:2020年2月4日 上午10:33:24  
         * @Description:TODO 钉钉推送排课数据
         * @param sendContent--待推送的排课数据信息
         * @param WEBHOOK_TOKEN--推送到钉钉的群指令
         * @return--String
         */
        public static String sendDingPkMessage(String sendContent) {
            forPk.info("进入DingDingSendBean的sendDingPkMessage");
            try {
                //单独推送人的手机号
                String sendPhone = "";
                //是否@所有人(true为所有人,false为不@所有人)
                Boolean isAtAll = false;
                // 监控数据信息推送到钉钉群根据传入Boolean值判断是否@所有人
                String result = sendDingMessage(pk_WEBHOOK_TOKEN, sendContent, sendPhone, isAtAll);
                return result;
            } catch (Exception e) {
                forPk.error("DingDingSendBean的sendDingPkMessage err", e);
                return "error";
            }
        }
        /**
         * @Title:sendDingMessage
         * @author:马家立
         * @date:2020年2月4日 上午10:37:15  
         * @Description:TODO 监控数据信息推送到钉钉群根据传入Boolean值判断是否@所有人
         * @param WEBHOOK_TOKEN--钉钉群机器指令(http格式)
         * @param sendContent--钉钉群机器指令(http格式)
         * @param sendPhone--推送手机号
         * @param isAtAll--是否@所有人(true为所有人,false为不@所有人)
         * @return--String
         */
        public static String sendDingMessage(String WEBHOOK_TOKEN, String sendContent, String sendPhone, Boolean isAtAll) {
            forPk.info("进入DingDingSendBean的sendDingMessage");
            try {
                String result = "";
                // new一个post的http (Ps:WEBHOOK_TOKEN是群机器人的推送指令)
                HttpPost httppost = new HttpPost(WEBHOOK_TOKEN);
                httppost.addHeader("Content-Type", "application/json; charset=utf-8");
                // 钉钉参数格式拼接
                String sendMsg = "{ "msgtype": "text", "text": {"content": "" + sendPhone + "" + sendContent
                    + ""}, "at":{"atMobiles":["" + sendPhone + ""],  "isAtAll": " + isAtAll + "}}";
                // 设置编码格式utf-8
                StringEntity encode = new StringEntity(sendMsg, "utf-8");
                httppost.setEntity(encode);
                // 创建http客户端
                HttpClient httpclient = HttpClients.createDefault();
                // 响应http客户端
                HttpResponse response = httpclient.execute(httppost);
                forPk.info("response.getStatusLine().getStatusCode()==" + response.getStatusLine().getStatusCode());
                if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                    result = EntityUtils.toString(response.getEntity(), "utf-8");
                } else {
                    result = "钉钉信息推送失败";
                }
                forPk.info("钉钉信息发送结果:" + result);
                return result;
            } catch (Exception e) {
                forPk.error("DingDingSendBean的sendDingMessage err", e);
                return "error";
            }
        }
        
        /**
         * @Title:main
         * @author:马家立
         * @date:2019年1月9日 下午5:49:12
         * @Description:main函数测试
         * @param:@param args
         */
        public static void main(String[] args) {
            DingDingSendUtil.sendDingPkMessage("排课测试推送钉钉");
            System.out.println("over");
        }
    }
  • 相关阅读:
    mysql的安装、启动和基础配置 —— windows版本
    Navicat安装及简单使用
    期货黄金与现货黄金比较
    android 网络编程--socket tcp/ip udp http之间的关系
    socket、tcp、udp、http 的认识及区别
    Android数据传递的五种方法汇总
    android 应用程序Activity之间数据传递与共享的几种途径
    Android数据存储的五种方法汇总
    Android终端与服务器数据传输解决方案
    转载 解决Android与服务器交互大容量数据问题
  • 原文地址:https://www.cnblogs.com/mjtabu/p/12258664.html
Copyright © 2011-2022 走看看