Blame view

src/main/java/com/jfinal/weixin/sdk/msg/out/OutNewsMsg.java 2.89 KB
e80df919   atao   init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  /**
   * Copyright (c) 2011-2014, James Zhan 詹波 (jfinal@126.com).
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   */
  
  package com.jfinal.weixin.sdk.msg.out;
  
  import com.jfinal.weixin.sdk.msg.in.InMsg;
  
  import java.util.ArrayList;
  import java.util.List;
  
  /**
   * <pre>
      回复图文消息
   &lt;xml&gt;
   &lt;ToUserName&gt;&lt;![CDATA[toUser]]&gt;&lt;/ToUserName&gt;
   &lt;FromUserName&gt;&lt;![CDATA[fromUser]]&gt;&lt;/FromUserName&gt;
   &lt;CreateTime&gt;12345678&lt;/CreateTime&gt;
   &lt;MsgType&gt;&lt;![CDATA[news]]&gt;&lt;/MsgType&gt;
   &lt;ArticleCount&gt;2&lt;/ArticleCount&gt;
   &lt;Articles&gt;
   &lt;item&gt;
   &lt;Title&gt;&lt;![CDATA[title1]]&gt;&lt;/Title&gt;
   &lt;Description&gt;&lt;![CDATA[description1]]&gt;&lt;/Description&gt;
   &lt;PicUrl&gt;&lt;![CDATA[picurl]]&gt;&lt;/PicUrl&gt;
   &lt;Url&gt;&lt;![CDATA[url]]&gt;&lt;/Url&gt;
   &lt;/item&gt;
  
   &lt;item&gt;
   &lt;Title&gt;&lt;![CDATA[title]]&gt;&lt;/Title&gt;
   &lt;Description&gt;&lt;![CDATA[description]]&gt;&lt;/Description&gt;
   &lt;PicUrl&gt;&lt;![CDATA[picurl]]&gt;&lt;/PicUrl&gt;
   &lt;Url&gt;&lt;![CDATA[url]]&gt;&lt;/Url&gt;
   &lt;/item&gt;
   &lt;/Articles&gt;
   &lt;/xml&gt;
   </pre>
   */
  @SuppressWarnings("serial")
  public class OutNewsMsg extends OutMsg {
  
      private List<News> articles = new ArrayList<News>();
  
      public OutNewsMsg() {
          this.msgType = "news";
      }
  
      public OutNewsMsg(InMsg inMsg) {
          super(inMsg);
          this.msgType = "news";
      }
  
      @Override
      protected void subXml(StringBuilder sb) {
          sb.append("<ArticleCount>").append(getArticleCount()).append("</ArticleCount>\n");
          sb.append("<Articles>\n");
          for (News x : articles) {
              sb.append("<item>\n");
  
              sb.append("<Title><![CDATA[").append(nullToBlank(x.getTitle())).append("]]></Title>\n");
              sb.append("<Description><![CDATA[").append(nullToBlank(x.getDescription())).append("]]></Description>\n");
              sb.append("<PicUrl><![CDATA[").append(nullToBlank(x.getPicUrl())).append("]]></PicUrl>\n");
              sb.append("<Url><![CDATA[").append(nullToBlank(x.getUrl())).append("]]></Url>\n");
  
              sb.append("</item>\n");
          }
          sb.append("</Articles>\n");
      }
  
      public Integer getArticleCount() {
          return articles.size();
      }
  
      public List<News> getArticles() {
          return articles;
      }
  
      public void setArticles(List<News> articles) {
          if (articles != null)
              this.articles = articles;
      }
  
      public OutNewsMsg addNews(List<News> articles) {
          if (articles != null)
              this.articles.addAll(articles);
          return this;
      }
  
      public OutNewsMsg addNews(String title, String description, String picUrl, String url) {
          this.articles.add(new News(title, description, picUrl, url));
          return this;
      }
  
      public OutNewsMsg addNews(News news) {
          this.articles.add(news);
          return this;
      }
  
  }