1 package com.foxinmy.weixin4j.model.card;
2
3 import com.alibaba.fastjson.annotation.JSONField;
4
5 import java.util.ArrayList;
6 import java.util.Arrays;
7 import java.util.List;
8
9
10
11
12
13
14
15 public class PageTheme {
16
17
18
19 @JSONField(name = "theme_pic_url")
20 private String cover;
21
22
23
24 private String title;
25
26
27
28 @JSONField(name = "title_color")
29 private String titleColor;
30
31
32
33 @JSONField(name = "item_list")
34 private List<CardItem> itemList;
35
36
37
38 @JSONField(name = "pic_item_list")
39 private List<PicItem> picItemList;
40
41
42
43 @JSONField(name = "category_index")
44 private Integer categoryIndex;
45
46
47
48 @JSONField(name = "show_sku_title_first")
49 private Boolean showSkuTitleFirst;
50
51
52
53 @JSONField(name = "is_banner")
54 private Boolean bannerTheme;
55
56 public PageTheme(Builder builder){
57 this.cover = builder.cover;
58 this.title = builder.title;
59 this.titleColor = builder.titleColor;
60 this.itemList = builder.itemList;
61 this.picItemList = builder.picItemList;
62 this.categoryIndex = builder.categoryIndex;
63 this.showSkuTitleFirst = builder.showSkuTitleFirst;
64 this.bannerTheme = builder.bannerTheme;
65 }
66
67 public String getCover() {
68 return cover;
69 }
70
71 public String getTitle() {
72 return title;
73 }
74
75 public String getTitleColor() {
76 return titleColor;
77 }
78
79 public List<CardItem> getItemList() {
80 return itemList;
81 }
82
83 public List<PicItem> getPicItemList() {
84 return picItemList;
85 }
86
87 public Integer getCategoryIndex() {
88 return categoryIndex;
89 }
90
91 public Boolean getShowSkuTitleFirst() {
92 return showSkuTitleFirst;
93 }
94
95 public Boolean getBannerTheme() {
96 return bannerTheme;
97 }
98
99 public static class Builder{
100
101
102
103 private String cover;
104
105
106
107 private String title;
108
109
110
111 private String titleColor;
112
113
114
115 private List<CardItem> itemList;
116
117
118
119 private List<PicItem> picItemList;
120
121
122
123 private Integer categoryIndex;
124
125
126
127 private Boolean showSkuTitleFirst;
128
129
130
131 private Boolean bannerTheme;
132
133 public Builder(){
134 this.itemList = new ArrayList<CardItem>();
135 this.picItemList = new ArrayList<PicItem>();
136 }
137
138
139
140
141
142
143
144 public Builder cover(String cover){
145 this.cover = cover;
146 return this;
147 }
148
149
150
151
152
153
154
155 public Builder title(String title){
156 this.title = title;
157 return this;
158 }
159
160
161
162
163
164
165
166
167 public Builder titleColor(String titleColor){
168 this.titleColor = titleColor;
169 return this;
170 }
171
172
173
174
175
176
177
178 public Builder cardItems(CardItem... items){
179 this.itemList = Arrays.asList(items);
180 return this;
181 }
182
183
184
185
186
187
188
189 public Builder addCardItem(CardItem item){
190 this.itemList.add(item);
191 return this;
192 }
193
194
195
196
197
198
199
200 public Builder picItems(PicItem... items){
201 this.picItemList = Arrays.asList(items);
202 return this;
203 }
204
205
206
207
208
209
210
211 public Builder addPicItem(PicItem item){
212 this.picItemList.add(item);
213 return this;
214 }
215
216
217
218
219
220
221
222 public Builder categoryIndex(Integer index){
223 this.categoryIndex = index;
224 return this;
225 }
226
227
228
229
230
231
232
233 public Builder showSkuTitleFirst(Boolean isShow){
234 this.showSkuTitleFirst = isShow;
235 return this;
236 }
237
238
239
240
241
242
243
244 public Builder bannerTheme(Boolean isBanner){
245 this.bannerTheme = isBanner;
246 return this;
247 }
248 }
249 }