Skip to content

Commit 742c74d

Browse files
committed
用户信息添加新增的tagid_list属性
1 parent aabdc8e commit 742c74d

File tree

9 files changed

+131
-88
lines changed

9 files changed

+131
-88
lines changed

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/GsonHelper.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
package me.chanjar.weixin.common.util.json;
1010

1111

12+
import java.util.List;
13+
14+
import com.google.common.collect.Lists;
15+
import com.google.gson.JsonArray;
1216
import com.google.gson.JsonElement;
1317
import com.google.gson.JsonObject;
1418

@@ -112,4 +116,21 @@ public static float getAsPrimitiveFloat(JsonElement element) {
112116
return r == null ? 0f : r;
113117
}
114118

119+
public static Integer[] getIntArray(JsonObject o, String string) {
120+
JsonArray jsonArray = getAsJsonArray(o.getAsJsonArray(string));
121+
if (jsonArray == null) {
122+
return null;
123+
}
124+
125+
List<Integer> result = Lists.newArrayList();
126+
for (int i = 0; i < jsonArray.size(); i++) {
127+
result.add(jsonArray.get(i).getAsInt());
128+
}
129+
130+
return result.toArray(new Integer[0]);
131+
}
132+
133+
public static JsonArray getAsJsonArray(JsonElement element) {
134+
return element == null ? null : element.getAsJsonArray();
135+
}
115136
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpUserServiceImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ public List<WxMpUser> userInfoList(List<String> openidList) throws WxErrorExcept
5656
@Override
5757
public List<WxMpUser> userInfoList(WxMpUserQuery userQuery) throws WxErrorException {
5858
String url = API_URL_PREFIX + "/info/batchget";
59-
String responseContent = this.wxMpService.execute(new SimplePostRequestExecutor(), url, userQuery.toJsonString());
59+
String responseContent = this.wxMpService.post(url,
60+
userQuery.toJsonString());
6061
return WxMpUser.fromJsonList(responseContent);
6162
}
6263

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpUserQuery.java

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,35 +24,35 @@ public WxMpUserQuery() {
2424
/**
2525
* 语言使用默认(zh_CN)
2626
*
27-
* @param openIdList
27+
* @param openids
2828
*/
29-
public WxMpUserQuery(List<String> openIdList) {
29+
public WxMpUserQuery(List<String> openids) {
3030
super();
31-
add(openIdList);
31+
add(openids);
3232
}
3333

3434
/**
3535
* 添加OpenId列表,语言使用默认(zh_CN)
3636
*
37-
* @param openIdList
37+
* @param openids
3838
* @return {@link WxMpUserQuery}
3939
*/
40-
public WxMpUserQuery add(List<String> openIdList) {
41-
for (String openId : openIdList) {
42-
this.add(openId);
40+
public WxMpUserQuery add(List<String> openids) {
41+
for (String openid : openids) {
42+
this.add(openid);
4343
}
4444
return this;
4545
}
4646

4747
/**
4848
* 添加一个OpenId
4949
*
50-
* @param openId
50+
* @param openid
5151
* @param lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
5252
* @return {@link WxMpUserQuery}
5353
*/
54-
public WxMpUserQuery add(String openId, String lang) {
55-
this.queryParamList.add(new WxMpUserQueryParam(openId, lang));
54+
public WxMpUserQuery add(String openid, String lang) {
55+
this.queryParamList.add(new WxMpUserQueryParam(openid, lang));
5656
return this;
5757
}
5858

@@ -63,34 +63,34 @@ public WxMpUserQuery add(String openId, String lang) {
6363
* 该方法默认lang = zh_CN
6464
* </pre>
6565
*
66-
* @param openId
66+
* @param openid
6767
* @return {@link WxMpUserQuery}
6868
*/
69-
public WxMpUserQuery add(String openId) {
70-
this.queryParamList.add(new WxMpUserQueryParam(openId));
69+
public WxMpUserQuery add(String openid) {
70+
this.queryParamList.add(new WxMpUserQueryParam(openid));
7171
return this;
7272
}
7373

7474
/**
7575
* 删除指定的OpenId,语言使用默认(zh_CN)
7676
*
77-
* @param openId
77+
* @param openid
7878
* @return {@link WxMpUserQuery}
7979
*/
80-
public WxMpUserQuery remove(String openId) {
81-
this.queryParamList.remove(new WxMpUserQueryParam(openId));
80+
public WxMpUserQuery remove(String openid) {
81+
this.queryParamList.remove(new WxMpUserQueryParam(openid));
8282
return this;
8383
}
8484

8585
/**
8686
* 删除指定的OpenId
8787
*
88-
* @param openId
88+
* @param openid
8989
* @param lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
9090
* @return {@link WxMpUserQuery}
9191
*/
92-
public WxMpUserQuery remove(String openId, String lang) {
93-
this.queryParamList.remove(new WxMpUserQueryParam(openId, lang));
92+
public WxMpUserQuery remove(String openid, String lang) {
93+
this.queryParamList.remove(new WxMpUserQueryParam(openid, lang));
9494
return this;
9595
}
9696

@@ -110,9 +110,6 @@ public String toJsonString() {
110110

111111
// 查询参数封装
112112
public class WxMpUserQueryParam implements Serializable {
113-
/**
114-
* @fields serialVersionUID
115-
*/
116113
private static final long serialVersionUID = -6863571795702385319L;
117114
private String openid;
118115
private String lang;

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpUser.java

Lines changed: 55 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import java.lang.reflect.Type;
55
import java.util.List;
66

7+
import org.apache.commons.lang3.builder.ToStringBuilder;
8+
import org.apache.commons.lang3.builder.ToStringStyle;
9+
710
import com.google.gson.Gson;
811
import com.google.gson.JsonObject;
912
import com.google.gson.reflect.TypeToken;
@@ -17,91 +20,111 @@
1720
*/
1821
public class WxMpUser implements Serializable {
1922

20-
/**
21-
* @fields serialVersionUID
22-
*/
2323
private static final long serialVersionUID = 5788154322646488738L;
24-
protected Boolean subscribe;
25-
protected String openId;
26-
protected String nickname;
27-
protected String sex;
28-
protected String language;
29-
protected String city;
30-
protected String province;
31-
protected String country;
32-
protected String headImgUrl;
33-
protected Long subscribeTime;
34-
protected String unionId;
35-
protected Integer sexId;
36-
protected String remark;
37-
protected Integer groupId;
24+
private Boolean subscribe;
25+
private String openId;
26+
private String nickname;
27+
private String sex;
28+
private String language;
29+
private String city;
30+
private String province;
31+
private String country;
32+
private String headImgUrl;
33+
private Long subscribeTime;
34+
private String unionId;
35+
private Integer sexId;
36+
private String remark;
37+
private Integer groupId;
38+
private Integer[] tagIds;
3839

3940
public Boolean getSubscribe() {
4041
return this.subscribe;
4142
}
43+
4244
public Boolean isSubscribe() {
4345
return this.subscribe;
4446
}
47+
4548
public void setSubscribe(Boolean subscribe) {
4649
this.subscribe = subscribe;
4750
}
51+
4852
public String getOpenId() {
4953
return this.openId;
5054
}
55+
5156
public void setOpenId(String openId) {
5257
this.openId = openId;
5358
}
59+
5460
public String getNickname() {
5561
return this.nickname;
5662
}
63+
5764
public void setNickname(String nickname) {
5865
this.nickname = nickname;
5966
}
67+
6068
public String getSex() {
6169
return this.sex;
6270
}
71+
6372
public void setSex(String sex) {
6473
this.sex = sex;
6574
}
75+
6676
public String getLanguage() {
6777
return this.language;
6878
}
79+
6980
public void setLanguage(String language) {
7081
this.language = language;
7182
}
83+
7284
public String getCity() {
7385
return this.city;
7486
}
87+
7588
public void setCity(String city) {
7689
this.city = city;
7790
}
91+
7892
public String getProvince() {
7993
return this.province;
8094
}
95+
8196
public void setProvince(String province) {
8297
this.province = province;
8398
}
99+
84100
public String getCountry() {
85101
return this.country;
86102
}
103+
87104
public void setCountry(String country) {
88105
this.country = country;
89106
}
107+
90108
public String getHeadImgUrl() {
91109
return this.headImgUrl;
92110
}
111+
93112
public void setHeadImgUrl(String headImgUrl) {
94113
this.headImgUrl = headImgUrl;
95114
}
115+
96116
public Long getSubscribeTime() {
97117
return this.subscribeTime;
98118
}
119+
99120
public void setSubscribeTime(Long subscribeTime) {
100121
this.subscribeTime = subscribeTime;
101122
}
123+
102124
public String getUnionId() {
103125
return this.unionId;
104126
}
127+
105128
public void setUnionId(String unionId) {
106129
this.unionId = unionId;
107130
}
@@ -118,43 +141,42 @@ public void setSexId(Integer sexId) {
118141
public String getRemark() {
119142
return this.remark;
120143
}
144+
121145
public void setRemark(String remark) {
122146
this.remark = remark;
123147
}
148+
124149
public Integer getGroupId() {
125150
return this.groupId;
126151
}
152+
127153
public void setGroupId(Integer groupId) {
128154
this.groupId = groupId;
129155
}
130156

157+
public Integer[] getTagIds() {
158+
return this.tagIds;
159+
}
160+
161+
public void setTagIds(Integer[] tagIds) {
162+
this.tagIds = tagIds;
163+
}
164+
131165
public static WxMpUser fromJson(String json) {
132166
return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxMpUser.class);
133167
}
134168

135169
public static List<WxMpUser> fromJsonList(String json) {
136-
Type collectionType = new TypeToken<List<WxMpUser>>() {}.getType();
170+
Type collectionType = new TypeToken<List<WxMpUser>>() {
171+
}.getType();
137172
Gson gson = WxMpGsonBuilder.INSTANCE.create();
138173
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
139174
return gson.fromJson(jsonObject.get("user_info_list"), collectionType);
140175
}
141176

142177
@Override
143178
public String toString() {
144-
return "WxMpUser{" +
145-
"subscribe=" + this.subscribe +
146-
", openId='" + this.openId + '\'' +
147-
", nickname='" + this.nickname + '\'' +
148-
", sex='" + this.sex + '\'' +
149-
", language='" + this.language + '\'' +
150-
", city='" + this.city + '\'' +
151-
", province='" + this.province + '\'' +
152-
", country='" + this.country + '\'' +
153-
", headImgUrl='" + this.headImgUrl + '\'' +
154-
", subscribeTime=" + this.subscribeTime +
155-
", unionId='" + this.unionId + '\'' +
156-
", remark='" + this.remark + '\'' +
157-
", groupId='" + this.groupId + '\'' +
158-
'}';
179+
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
159180
}
181+
160182
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/store/WxMpStoreInfo.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/**
2-
* Copyright(c) 2011-2016 by UCredit Inc.
3-
* All Rights Reserved
4-
*/
51
package me.chanjar.weixin.mp.bean.store;
62

73
import org.apache.commons.lang3.builder.ToStringBuilder;

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpUserGsonAdapter.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,17 @@
88
*/
99
package me.chanjar.weixin.mp.util.json;
1010

11-
import com.google.gson.*;
11+
import java.lang.reflect.Type;
12+
13+
import com.google.gson.JsonDeserializationContext;
14+
import com.google.gson.JsonDeserializer;
15+
import com.google.gson.JsonElement;
16+
import com.google.gson.JsonObject;
17+
import com.google.gson.JsonParseException;
18+
1219
import me.chanjar.weixin.common.util.json.GsonHelper;
1320
import me.chanjar.weixin.mp.bean.result.WxMpUser;
1421

15-
import java.lang.reflect.Type;
16-
1722
public class WxMpUserGsonAdapter implements JsonDeserializer<WxMpUser> {
1823

1924
@Override
@@ -36,6 +41,7 @@ public WxMpUser deserialize(JsonElement json, Type typeOfT, JsonDeserializationC
3641
Integer sexId = GsonHelper.getInteger(o, "sex");
3742
wxMpUser.setRemark(GsonHelper.getString(o, "remark"));
3843
wxMpUser.setGroupId(GsonHelper.getInteger(o, "groupid"));
44+
wxMpUser.setTagIds(GsonHelper.getIntArray(o, "tagid_list"));
3945
wxMpUser.setSexId(sexId);
4046
if(new Integer(1).equals(sexId)) {
4147
wxMpUser.setSex("男");

weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxXmlMpInMemoryConfigStorage.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/**
2-
* Copyright(c) 2011-2016 by UCredit Inc.
3-
* All Rights Reserved
4-
*/
51
package me.chanjar.weixin.mp.api;
62

73
import org.apache.commons.lang3.builder.ToStringBuilder;

weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpStoreServiceImplTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/**
2-
* Copyright(c) 2011-2016 by UCredit Inc.
3-
* All Rights Reserved
4-
*/
51
package me.chanjar.weixin.mp.api.impl;
62

73
import static org.junit.Assert.assertNotNull;

0 commit comments

Comments
 (0)