微信公众号接收用户发送的特殊消息回复固定内容
1.验证用户消息
@RequestMapping(value = "/verifier",method = {
RequestMethod.POST})
public void processPost(HttpServletRequest request, HttpServletResponse response) throws Exception{
PrintWriter out=response.getWriter();
Map<String, String> msgMap = WechatUtils.xmlToMap(request);
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
/**接收消息*/
if (StringUtils.equals("text",msgMap.get("MsgType")) && StringUtils.equals(StringUtils.trim(msgMap.get("Content")),"消息内容")){
String xml = pushBindingInfo(msgMap);
out.println(xml);
}
}
处理推送给用户的消息,转为xml,我这里推送的是一个链接,用户点击消息可以跳转到自定义的页面;
public String pushBindingInfo(Map<String, String> msgMap){
TextMessage textMessage = new TextMessage();
textMessage.setToUserName(msgMap.get("FromUserName"));
textMessage.setFromUserName(msgMap.get("ToUserName"));
textMessage.setCreateTime(msgMap.get("CreateTime"));
textMessage.setMsgType("text");
String appId = "APPID";
String url = "链接";
textMessage.setContent("<a href="+url+">推送的消息</a>");
XStream xstream = new XStream();
xstream.alias("xml", textMessage.getClass());
String xml = xstream.toXML(textMessage);
return xml;
}
