Skip to content

Commit 0ff63ba

Browse files
committed
修复用户标签id类型不一致的问题 #175
1 parent 8947066 commit 0ff63ba

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

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

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
package me.chanjar.weixin.common.util.json;
1010

1111

12-
import java.util.List;
13-
1412
import com.google.common.collect.Lists;
1513
import com.google.gson.JsonArray;
1614
import com.google.gson.JsonElement;
1715
import com.google.gson.JsonObject;
1816

17+
import java.util.List;
18+
1919

2020
public class GsonHelper {
2121

@@ -130,6 +130,20 @@ public static Integer[] getIntArray(JsonObject o, String string) {
130130
return result.toArray(new Integer[0]);
131131
}
132132

133+
public static Long[] getLongArray(JsonObject o, String string) {
134+
JsonArray jsonArray = getAsJsonArray(o.getAsJsonArray(string));
135+
if (jsonArray == null) {
136+
return null;
137+
}
138+
139+
List<Long> result = Lists.newArrayList();
140+
for (int i = 0; i < jsonArray.size(); i++) {
141+
result.add(jsonArray.get(i).getAsLong());
142+
}
143+
144+
return result.toArray(new Long[0]);
145+
}
146+
133147
public static JsonArray getAsJsonArray(JsonElement element) {
134148
return element == null ? null : element.getAsJsonArray();
135149
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class WxMpUser implements Serializable {
3232
private Integer sexId;
3333
private String remark;
3434
private Integer groupId;
35-
private Integer[] tagIds;
35+
private Long[] tagIds;
3636

3737
public Boolean getSubscribe() {
3838
return this.subscribe;
@@ -150,11 +150,11 @@ public void setGroupId(Integer groupId) {
150150
this.groupId = groupId;
151151
}
152152

153-
public Integer[] getTagIds() {
153+
public Long[] getTagIds() {
154154
return this.tagIds;
155155
}
156156

157-
public void setTagIds(Integer[] tagIds) {
157+
public void setTagIds(Long[] tagIds) {
158158
this.tagIds = tagIds;
159159
}
160160

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public WxMpUser deserialize(JsonElement json, Type typeOfT, JsonDeserializationC
3636
Integer sexId = GsonHelper.getInteger(o, "sex");
3737
wxMpUser.setRemark(GsonHelper.getString(o, "remark"));
3838
wxMpUser.setGroupId(GsonHelper.getInteger(o, "groupid"));
39-
wxMpUser.setTagIds(GsonHelper.getIntArray(o, "tagid_list"));
39+
wxMpUser.setTagIds(GsonHelper.getLongArray(o, "tagid_list"));
4040
wxMpUser.setSexId(sexId);
4141
if (new Integer(1).equals(sexId)) {
4242
wxMpUser.setSex("男");

0 commit comments

Comments
 (0)