zoukankan      html  css  js  c++  java
  • java 微信公众服务平台 下发 模板消息

    java 微信公众服务平台 下发 模板消息

    (一).部分截图

    (二).部分代码

    (一).部分截图:

    (二).部分代码:

    //此处 给用户微信发消息...
                    Map<String,String> paraMap = new HashMap<String,String>();
                    String pk_paydata = (String)curDataMap.get("pk_paydata");
                    String personname = (String)curDataMap.get("personname");
                    String wxid = (String)curDataMap.get("wxid");
                    if(null==wxid || "".equals(wxid)){
                        throw new Exception(personname+"的没有绑定微信账户,请先绑定后再下发!");
                    }
                    paraMap.put("@WXID@", wxid);
                    paraMap.put("@TEMPLATE_ID@", CommendDef.PAYROLL_TEMPLATE_ID);
                    paraMap.put("@URL@", CommendURL.viewPayRollUrl()+"period="+period+"&wxid="+wxid);
                    paraMap.put("@CONTENT@", personname+",您好,"+period+"的信息已下发,请点击查看详情。");
                    String errcode = TemplateMessageUtil.sendTemplateMsg(paraMap);
                    if("0".equals(errcode)){
                        logger.info(personname+"微信下发成功!");
                    }else{
                        logger.info(personname+"微信下发失败!");
                    }

    TemplateMessageUtil:

    package com.payroll.wx.util;
    
    import java.util.Map;
    import java.util.Map.Entry;
    
    import net.sf.json.JSONObject;
    
    import com.util.EmailUtil;
    /**
     * 微信发送 模板消息util
     *
     * @author lifq 
     * @date 2015-3-18 下午05:43:40
     */
    public class TemplateMessageUtil {
        //下发薪资单 模板消息
        public static final String SEND_PERIOD_TEMPLATE =   
           "{
    "+
               ""touser":"@WXID@",
    "+
               ""template_id":"@TEMPLATE_ID@",
    "+
               ""url":"@URL@",
    "+
               ""topcolor":"#FF0000",
    "+
               ""data":{
    "+
                      " "content":{
    "+
                           ""value":"@CONTENT@",
    "+
                           ""color":"#173177"
    "+
                       "}
    "+
               "}
    "+
               "}";
            
        /**
         * 发送模板消息
         *
         * @return boolean
         * @author lifq
         * @date 2015-2-11 下午03:25:07
         */
        public static String sendTemplateMsg (Map<String,String> paraMap){
            String data = TemplateMessageUtil.SEND_PERIOD_TEMPLATE;
            //替换变量
            for (Entry<String, String> entry: paraMap.entrySet()) {
                String key = entry.getKey();
                String value = entry.getValue();
                data = EmailUtil.replace(data,key,value);
            }
            String res = HttpPostUtil.doHttpPostJson(CommendURL.TemplateUrl(), data);
            JSONObject demoJson = JSONObject.fromObject(res);
            String errcode = demoJson.getString("errcode");
            return errcode;
        }
    }

    HttpPostUtil:

    package com.payroll.wx.util;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class HttpPostUtil
    {
    
        public static String doHttpPostJson(String Url,String json)
        {
            String message = "";
            System.out.println(json);
            try
            {
                URL url = new URL(Url);
                HttpURLConnection http = (HttpURLConnection) url.openConnection(); 
                http.setRequestMethod("POST");     
                http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");  
                http.setDoOutput(true);    
                http.setDoInput(true);
                System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒
                System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒
                http.connect();
                OutputStream os= http.getOutputStream();  
                os.write(json.getBytes("UTF-8"));//传入参数
                os.flush();
                os.close();
                InputStream is =http.getInputStream();
                int size =is.available();
                byte[] jsonBytes =new byte[size];
                is.read(jsonBytes);
                message=new String(jsonBytes,"UTF-8");
                System.out.println(message);
            } 
            catch (MalformedURLException e)
            {
                  e.printStackTrace();
              }
            catch (IOException e)
              {
                  e.printStackTrace();
              } 
            return message;
        }
        
    }

    限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。

    资料传送门:https://mp.weixin.qq.com/s/u2b_NVNuMuAPE0w4lc45fw

     

    关注下方公众号即可免费领取:

    Java碎碎念公众号

  • 相关阅读:
    使用Ambari快速部署Hadoop大数据环境
    Hadoop,HBase,Storm,Spark到底是什么?
    Google服务器架构图解简析
    百度的Hadoop分布式大数据系统图解:4000节点集群
    为Hadoop集群选择合适的硬件配置
    Hadoop组件Hive配置文件配置项详解
    腾讯TDW:大型Hadoop集群应用
    Hadoop组件Hbase配置项详解
    主流大数据采集平台的架构图解
    大数据架构师技能图谱
  • 原文地址:https://www.cnblogs.com/haha12/p/4347944.html
Copyright © 2011-2022 走看看