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 =
"{\n"+
"\"touser\":\"@WXID@\",\n"+
"\"template_id\":\"@TEMPLATE_ID@\",\n"+
"\"url\":\"@URL@\",\n"+
"\"topcolor\":\"#FF0000\",\n"+
"\"data\":{\n"+
" \"content\":{\n"+
"\"value\":\"@CONTENT@\",\n"+
"\"color\":\"#173177\"\n"+
"}\n"+
"}\n"+
"}"; /**
* 发送模板消息
*
* @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 微信公众服务平台 下发 模板消息的更多相关文章

  1. Java微信公众号开发----关键字自动回复消息

    在配置好开发者配置后,本人第一个想要实现的是自动回复消息的功能,说明以下几点: 1. url 仍然不变,还是开发配置里的url 2. 微信采用 xml 格式传输数据 3.微信服务器传给我们的参数主要有 ...

  2. JAVA微信公众号通过openid发送模板消息~

    1,问题产生 在微信公众号开发过程中,我们有时候做不同权限的时候,比如在注册的时候,需要审核,然后我们要想办法让对方知道审核的结果.这时候我们可以通过模板消息来通知. 2,第一步,首先在微信公众号上获 ...

  3. Java微信公众平台开发_03_消息管理之被动回复消息

    GitHub源码:https://github.com/shirayner/weixin_gz 一.本节要点 1.回调url 上一节,我们启用服务器配置的时候,填写了一个服务器地址(url),如下图, ...

  4. Java微信公众平台开发_02_启用服务器配置

    源码将在晚上上传到 github 一.准备阶段 需要准备事项: 1.一个能在公网上访问的项目: 见:[  Java微信公众平台开发_01_本地服务器映射外网  ] 2.一个微信公众平台账号: 去注册: ...

  5. Java微信公众号安全模式消息解密

    这篇文章主要为大家详细介绍了Java微信公众号安全模式消息解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.微信公众平台下载解密工具,导入项目中,根据demo解密消息 public stat ...

  6. Java微信公众平台开发【番外篇】(七)--公众平台测试帐号的申请

    转自:http://www.cuiyongzhi.com/post/45.html 前面几篇一直都在写一些比较基础接口的使用,在这个过程中一直使用的都是我个人微博认证的一个个人账号,原本准备这篇是写[ ...

  7. Java微信公众平台开发_07_JSSDK图片上传

    一.本节要点 1.获取jsapi_ticket //2.获取getJsapiTicket的接口地址,有效期为7200秒 private static final String GET_JSAPITIC ...

  8. Java微信公众平台开发--番外篇,对GlobalConstants文件的补充

    转自:http://www.cuiyongzhi.com/post/63.html 之前发过一个[微信开发]系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是 ...

  9. Java微信公众号开发

    微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个web平台.微信公众账号的种类可以分为3种,并且一旦选定不可更改.按照功能的限制从小到大依次为:订阅号.服务号.企业号.个人只能注册订阅号 ...

随机推荐

  1. 24种设计模式--适配器模式【Adapter Pattern】

    今天讲适配器模式,这个模式也很简单,你笔记本上的那个拖在外面的黑盒子就是个适配器,一般你在中国能用,在日本也能用,虽然两个国家的的电源电压不同,中国是 220V,日本是 110V,但是这个适配器能够把 ...

  2. ASP.Net定时任务执行

    原料: System.Timers.Timer():通过.NET  Thread  Pool实现的,轻量,计时精确,对应用程序.消息没有特别的要求:缺点是不支持直接的拖放,需要手工编码. Timer的 ...

  3. destoon代码从头到尾捋一遍

    destoon® B2B网站管理系统(以下简称destoon)由西安嘉客信息科技有限责任公司独立研发并推出,对其拥有完全知识产权,中国国家版权局计算机软件著作权登记号:2009SR037570. 系统 ...

  4. Mac Pro的HDMI接口与WI-FI可能存在冲突的解决方法

    当我将Mac Pro通过HDMI->DVI转接头接上一台显示器时,正在使用的WI-FI网络立马不能使用,重新连接网络也不行,但断开HDMI连接后,WI-FI立马恢复正常. 在网上查,在apple ...

  5. Git中从远程的分支获取最新的版本到本地

    Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge    git fetch origin mastergit l ...

  6. Apache添加虚拟主机目录

    <VirtualHost 127.0.0.2:80> DocumentRoot d:/abcd ServerName 127.0.0.2:80</VirtualHost> &l ...

  7. python将图片转为base64编码

    import base64 f = open("m1.jpg", "rb") res = f.read() s = base64.b64encode(res) ...

  8. 使用expect实现批量操作的自动化

    http://blog.csdn.net/hijk139/article/details/9121345

  9. Qt4.8 移植(超详细Configure的参数)

    Qt4.8.6 configure 参数 不只是适用于Qt4.8.6,原则上适用于Qt4所有版本 Usage: configure [-h] [-prefix <dir>] [-prefi ...

  10. android 上传图片到服务器Tomcat(Struts2)

    在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.exampl ...