Development of micro-channel teletext message

Micro-channel subscription number in the article material can not be added to the chain, if we want to promote the use of the form, we can use the reply message graphic way, and articles combine practical and good-looking.

After concerns reply graphic messages

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;
		}

Keywords reply graphic messages

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);
	

Keywords graphic messages and reply to messages When you subscribe to push graphics, implementation is the same.

If you do not want to reply to a message in reply to any content, they do not want a server fails, please try again later, you can return an empty string return ""; Tencent to know anything you do not want a reply.

Overall Code:


/**
 * 
 * @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;
		}
}

 

Published 79 original articles · won praise 48 · views 90000 +

Guess you like

Origin blog.csdn.net/bianyamei/article/details/81069424