número de suscripción de micro-canales en el material artículo no se puede añadir a la cadena, si queremos promover el uso de la forma, podemos utilizar el mensaje de respuesta de forma gráfica y artículos combinar práctico y de buen aspecto.
Después preocupaciones responder mensajes gráficos
if (eventType.equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)) {
// 创建图文消息 关注后发送多图文消息
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
List<Article> articleList = new ArrayList<Article>();
Article article1 = new Article();
article1.setTitle("");
article1.setDescription("");
article1.setPicUrl("");
article1.setUrl("");
Article article2 = new Article();
article2.setTitle("");
article2.setDescription("");
article2.setPicUrl("");
article2.setUrl("");
articleList.add(article1);
articleList.add(article2);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respContent = MessageUtil.messageToXml(newsMessage);
return respContent;
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)) {
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_SCAN)) {
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_LOCATION)) {
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_CLICK)) {
}
return MessageUtil.messageToXml(textMessage);
}
textMessage.setContent(respContent);
respXml = MessageUtil.messageToXml(textMessage);
}catch (Exception e) {
e.printStackTrace();
}
return respXml;
}
Palabras clave contestan mensajes gráficos
if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
// 接收用户发送的文本消息内容
// String content = requestMap.get("Content");
// 创建图文消息
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
// newsMessage.setFuncFlag(0);
List<Article> articleList = new ArrayList<Article>();
// 多图文消息
if ("XXX".contains(content)) {
Article article1 = new Article();
article1.setTitle("");
article1.setDescription("");
article1.setPicUrl("");
article1.setUrl("");
Article article2 = new Article();
article2.setTitle("");
article2.setDescription("");
article2.setPicUrl("");
article2.setUrl("");
articleList.add(article1);
articleList.add(article2);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respContent = MessageUtil.messageToXml(newsMessage);
return respContent;
}
return MessageUtil.messageToXml(textMessage);
Palabras clave mensajes gráficos y responder a los mensajes Cuando se suscribe a empujar a los gráficos, la implementación es la misma.
Si no desea responder a un mensaje en respuesta a cualquier contenido, que no quieren un servidor falla, por favor intente de nuevo más tarde, se puede devolver un retorno cadena vacía ""; Tencent para saber todo lo que no quiere una respuesta.
Código general:
/**
*
* @author bym @date 2018年7月4日
*/
public class CoreService {
/** 生成订阅时的图文消息
*
* @param fromUserName
* @param toUserName
* @return */
public static String processRequest(HttpServletRequest request) {
String respXml = null;
String respContent = "请求处理异常,请稍候尝试!";
try {
Map<String, String> requestMap = MessageUtil.parseXml(request);
String fromUserName = requestMap.get("FromUserName");
String toUserName = requestMap.get("ToUserName");
String msgType = requestMap.get("MsgType");
String content = requestMap.get("Content");
TextMessage textMessage = new TextMessage();
textMessage.setToUserName(fromUserName);
textMessage.setFromUserName(toUserName);
textMessage.setCreateTime(new Date().getTime());
textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
// 接收用户发送的文本消息内容
// String content = requestMap.get("Content");
// 创建图文消息
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
// newsMessage.setFuncFlag(0);
List<Article> articleList = new ArrayList<Article>();
// 多图文消息
if ("XXX".contains(content)) {
Article article1 = new Article();
article1.setTitle("");
article1.setDescription("");
article1.setPicUrl("");
article1.setUrl("");
Article article2 = new Article();
article2.setTitle("");
article2.setDescription("");
article2.setPicUrl("");
article2.setUrl("");
articleList.add(article1);
articleList.add(article2);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respContent = MessageUtil.messageToXml(newsMessage);
return respContent;
}
return MessageUtil.messageToXml(textMessage);
}else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)) {
String eventType = requestMap.get("Event");
if (eventType.equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)) {
// 创建图文消息 关注后发送多图文消息
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
List<Article> articleList = new ArrayList<Article>();
Article article1 = new Article();
article1.setTitle("");
article1.setDescription("");
article1.setPicUrl("");
article1.setUrl("");
Article article2 = new Article();
article2.setTitle("");
article2.setDescription(包");
article2.setPicUrl("");
article2.setUrl("");
articleList.add(article1);
articleList.add(article2);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respContent = MessageUtil.messageToXml(newsMessage);
return respContent;
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)) {
UserDao.delUser(fromUserName);
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_SCAN)) {
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_LOCATION)) {
}
else if (eventType.equals(MessageUtil.EVENT_TYPE_CLICK)) {
}
return MessageUtil.messageToXml(textMessage);
}
textMessage.setContent(respContent);
respXml = MessageUtil.messageToXml(textMessage);
}catch (Exception e) {
e.printStackTrace();
}
return respXml;
}
}