mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-02-16 21:36:27 +08:00
🎨 #1659 Json解析统一优化
* 解决动态添加第一个公众号时由于configStorageMap为null报空指针异常 * Json解析统一优化 Co-authored-by: niefy <niefy@qq.com>
This commit is contained in:
@@ -3,9 +3,7 @@ package me.chanjar.weixin.mp.api.impl;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -23,6 +21,7 @@ import me.chanjar.weixin.common.util.DataUtils;
|
||||
import me.chanjar.weixin.common.util.RandomUtils;
|
||||
import me.chanjar.weixin.common.util.crypto.SHA1;
|
||||
import me.chanjar.weixin.common.util.http.*;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
import me.chanjar.weixin.mp.api.*;
|
||||
import me.chanjar.weixin.mp.bean.WxMpSemanticQuery;
|
||||
@@ -48,7 +47,7 @@ import static me.chanjar.weixin.mp.enums.WxMpApiUrl.Other.*;
|
||||
*/
|
||||
@Slf4j
|
||||
public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestHttp<H, P> {
|
||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
|
||||
protected WxSessionManager sessionManager = new StandardSessionManager();
|
||||
private WxMpKefuService kefuService = new WxMpKefuServiceImpl(this);
|
||||
@@ -111,7 +110,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
|
||||
if (this.getWxMpConfigStorage().isTicketExpired(type)) {
|
||||
String responseContent = execute(SimpleGetRequestExecutor.create(this),
|
||||
GET_TICKET_URL.getUrl(this.getWxMpConfigStorage()) + type.getCode(), null);
|
||||
JsonObject tmpJsonObject = JSON_PARSER.parse(responseContent).getAsJsonObject();
|
||||
JsonObject tmpJsonObject = GsonParser.parse(responseContent);
|
||||
String jsapiTicket = tmpJsonObject.get("ticket").getAsString();
|
||||
int expiresInSeconds = tmpJsonObject.get("expires_in").getAsInt();
|
||||
this.getWxMpConfigStorage().updateTicket(type, jsapiTicket, expiresInSeconds);
|
||||
@@ -166,8 +165,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
|
||||
o.addProperty("action", "long2short");
|
||||
o.addProperty("long_url", longUrl);
|
||||
String responseContent = this.post(SHORTURL_API_URL, o.toString());
|
||||
JsonElement tmpJsonElement = JSON_PARSER.parse(responseContent);
|
||||
return tmpJsonElement.getAsJsonObject().get("short_url").getAsString();
|
||||
return GsonParser.parse(responseContent).get("short_url").getAsString();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -245,8 +243,8 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
|
||||
@Override
|
||||
public String[] getCallbackIP() throws WxErrorException {
|
||||
String responseContent = this.get(GET_CALLBACK_IP_URL, null);
|
||||
JsonElement tmpJsonElement = JSON_PARSER.parse(responseContent);
|
||||
JsonArray ipList = tmpJsonElement.getAsJsonObject().get("ip_list").getAsJsonArray();
|
||||
JsonObject tmpJsonObject = GsonParser.parse(responseContent);
|
||||
JsonArray ipList = tmpJsonObject.get("ip_list").getAsJsonArray();
|
||||
String[] ipArray = new String[ipList.size()];
|
||||
for (int i = 0; i < ipList.size(); i++) {
|
||||
ipArray[i] = ipList.get(i).getAsString();
|
||||
@@ -434,7 +432,11 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
|
||||
@Override
|
||||
public void addConfigStorage(String mpId, WxMpConfigStorage configStorages) {
|
||||
synchronized (this) {
|
||||
this.configStorageMap.put(mpId, configStorages);
|
||||
if (this.configStorageMap == null) {
|
||||
this.setWxMpConfigStorage(configStorages);
|
||||
} else {
|
||||
this.configStorageMap.put(mpId, configStorages);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.api.WxMpAiOpenService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.enums.AiLangType;
|
||||
@@ -23,7 +23,7 @@ import static me.chanjar.weixin.mp.enums.WxMpApiUrl.AiOpen.*;
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
public class WxMpAiOpenServiceImpl implements WxMpAiOpenService {
|
||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
private final WxMpService wxMpService;
|
||||
|
||||
@Override
|
||||
@@ -53,7 +53,7 @@ public class WxMpAiOpenServiceImpl implements WxMpAiOpenService {
|
||||
throw new WxErrorException(error);
|
||||
}
|
||||
|
||||
return JSON_PARSER.parse(response).getAsJsonObject().get("to_content").getAsString();
|
||||
return GsonParser.parse(response).get("to_content").getAsString();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -69,6 +69,6 @@ public class WxMpAiOpenServiceImpl implements WxMpAiOpenService {
|
||||
throw new WxErrorException(error);
|
||||
}
|
||||
|
||||
return JSON_PARSER.parse(response).getAsJsonObject().get("result").getAsString();
|
||||
return GsonParser.parse(response).get("result").getAsString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.RandomUtils;
|
||||
import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
import me.chanjar.weixin.mp.api.WxMpCardService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
@@ -58,8 +59,7 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
if (this.getWxMpService().getWxMpConfigStorage().isTicketExpired(type)) {
|
||||
String responseContent = this.wxMpService.execute(SimpleGetRequestExecutor
|
||||
.create(this.getWxMpService().getRequestHttp()), WxMpApiUrl.Card.CARD_GET_TICKET, null);
|
||||
JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
|
||||
JsonObject tmpJsonObject = tmpJsonElement.getAsJsonObject();
|
||||
JsonObject tmpJsonObject = GsonParser.parse(responseContent);
|
||||
String cardApiTicket = tmpJsonObject.get("ticket").getAsString();
|
||||
int expiresInSeconds = tmpJsonObject.get("expires_in").getAsInt();
|
||||
this.getWxMpService().getWxMpConfigStorage().updateTicket(type, cardApiTicket, expiresInSeconds);
|
||||
@@ -99,8 +99,7 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
JsonObject param = new JsonObject();
|
||||
param.addProperty("encrypt_code", encryptCode);
|
||||
String responseContent = this.wxMpService.post(WxMpApiUrl.Card.CARD_CODE_DECRYPT, param.toString());
|
||||
JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
|
||||
JsonObject tmpJsonObject = tmpJsonElement.getAsJsonObject();
|
||||
JsonObject tmpJsonObject = GsonParser.parse(responseContent);
|
||||
JsonPrimitive jsonPrimitive = tmpJsonObject.getAsJsonPrimitive("code");
|
||||
return jsonPrimitive.getAsString();
|
||||
}
|
||||
@@ -159,7 +158,7 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
String responseContent = this.wxMpService.post(WxMpApiUrl.Card.CARD_GET, param.toString());
|
||||
|
||||
// 判断返回值
|
||||
JsonObject json = (new JsonParser()).parse(responseContent).getAsJsonObject();
|
||||
JsonObject json = GsonParser.parse(responseContent);
|
||||
String errcode = json.get("errcode").getAsString();
|
||||
if (!"0".equals(errcode)) {
|
||||
String errmsg = json.get("errmsg").getAsString();
|
||||
|
||||
@@ -6,7 +6,6 @@ import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpDeviceService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.device.*;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
|
||||
import static me.chanjar.weixin.mp.enums.WxMpApiUrl.Device.*;
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.api.WxMpMarketingService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.marketing.WxMpAdLeadFilter;
|
||||
@@ -38,8 +37,8 @@ public class WxMpMarketingServiceImpl implements WxMpMarketingService {
|
||||
json.addProperty("name", name);
|
||||
json.addProperty("description", description);
|
||||
String responseContent = wxMpService.post(USER_ACTION_SETS_ADD, json.toString());
|
||||
JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
|
||||
return tmpJsonElement.getAsJsonObject().get("data").getAsJsonObject().get("user_action_set_id").getAsLong();
|
||||
JsonObject tmpJson = GsonParser.parse(responseContent);
|
||||
return tmpJson.get("data").getAsJsonObject().get("user_action_set_id").getAsLong();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -11,7 +11,6 @@ import me.chanjar.weixin.mp.bean.result.WxMpMassGetResult;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpMassSendResult;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpMassSpeedGetResult;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpMassUploadResult;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
|
||||
import static me.chanjar.weixin.mp.enums.WxMpApiUrl.*;
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
import me.chanjar.weixin.mp.api.WxMpMaterialService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.material.*;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
import me.chanjar.weixin.mp.util.requestexecuter.material.*;
|
||||
import me.chanjar.weixin.mp.util.requestexecuter.media.MediaImgUploadRequestExecutor;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.bean.menu.WxMenu;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.api.WxMpMenuService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.menu.WxMpGetSelfMenuInfoResult;
|
||||
@@ -38,7 +38,7 @@ public class WxMpMenuServiceImpl implements WxMpMenuService {
|
||||
log.debug("创建菜单:{},结果:{}", menuJson, result);
|
||||
|
||||
if (menu.getMatchRule() != null) {
|
||||
return new JsonParser().parse(result).getAsJsonObject().get("menuid").getAsString();
|
||||
return GsonParser.parse(result).get("menuid").getAsString();
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -46,8 +46,7 @@ public class WxMpMenuServiceImpl implements WxMpMenuService {
|
||||
|
||||
@Override
|
||||
public String menuCreate(String json) throws WxErrorException {
|
||||
JsonParser jsonParser = new JsonParser();
|
||||
JsonObject jsonObject = jsonParser.parse(json).getAsJsonObject();
|
||||
JsonObject jsonObject = GsonParser.parse(json);
|
||||
WxMpApiUrl.Menu url = MENU_CREATE;
|
||||
if (jsonObject.get("matchrule") != null) {
|
||||
url = MENU_ADDCONDITIONAL;
|
||||
@@ -55,7 +54,7 @@ public class WxMpMenuServiceImpl implements WxMpMenuService {
|
||||
|
||||
String result = this.wxMpService.post(url, json);
|
||||
if (jsonObject.get("matchrule") != null) {
|
||||
return jsonParser.parse(result).getAsJsonObject().get("menuid").getAsString();
|
||||
return GsonParser.parse(result).get("menuid").getAsString();
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.BeanUtils;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.api.WxMpStoreService;
|
||||
import me.chanjar.weixin.mp.bean.store.WxMpStoreBaseInfo;
|
||||
@@ -47,7 +47,7 @@ public class WxMpStoreServiceImpl implements WxMpStoreService {
|
||||
if (wxError.getErrorCode() != 0) {
|
||||
throw new WxErrorException(wxError);
|
||||
}
|
||||
return WxMpStoreBaseInfo.fromJson(new JsonParser().parse(response).getAsJsonObject()
|
||||
return WxMpStoreBaseInfo.fromJson(GsonParser.parse(response)
|
||||
.get("business").getAsJsonObject().get("base_info").toString());
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ public class WxMpStoreServiceImpl implements WxMpStoreService {
|
||||
}
|
||||
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(response).getAsJsonObject().get("category_list"),
|
||||
GsonParser.parse(response).get("category_list"),
|
||||
new TypeToken<List<String>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.api.WxMpTemplateMsgService;
|
||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplate;
|
||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry;
|
||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -26,14 +25,14 @@ import static me.chanjar.weixin.mp.enums.WxMpApiUrl.TemplateMsg.*;
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
public class WxMpTemplateMsgServiceImpl implements WxMpTemplateMsgService {
|
||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
|
||||
private final WxMpService wxMpService;
|
||||
|
||||
@Override
|
||||
public String sendTemplateMsg(WxMpTemplateMessage templateMessage) throws WxErrorException {
|
||||
String responseContent = this.wxMpService.post(MESSAGE_TEMPLATE_SEND, templateMessage.toJson());
|
||||
final JsonObject jsonObject = JSON_PARSER.parse(responseContent).getAsJsonObject();
|
||||
final JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() == 0) {
|
||||
return jsonObject.get("msgid").getAsString();
|
||||
}
|
||||
@@ -62,7 +61,7 @@ public class WxMpTemplateMsgServiceImpl implements WxMpTemplateMsgService {
|
||||
JsonObject jsonObject = new JsonObject();
|
||||
jsonObject.addProperty("template_id_short", shortTemplateId);
|
||||
String responseContent = this.wxMpService.post(TEMPLATE_API_ADD_TEMPLATE, jsonObject.toString());
|
||||
final JsonObject result = JSON_PARSER.parse(responseContent).getAsJsonObject();
|
||||
final JsonObject result = GsonParser.parse(responseContent);
|
||||
if (result.get("errcode").getAsInt() == 0) {
|
||||
return result.get("template_id").getAsString();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import me.chanjar.weixin.common.util.http.SimplePostRequestExecutor;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.api.WxMpUserBlacklistService;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUserBlacklistGetResult;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -9,7 +9,6 @@ import me.chanjar.weixin.mp.bean.WxMpUserQuery;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpChangeOpenid;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUserList;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -2,12 +2,12 @@ package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.api.WxMpUserTagService;
|
||||
import me.chanjar.weixin.mp.bean.tag.WxTagListUser;
|
||||
@@ -134,7 +134,7 @@ public class WxMpUserTagServiceImpl implements WxMpUserTagService {
|
||||
String responseContent = this.wxMpService.post(TAGS_GETIDLIST, json.toString());
|
||||
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(responseContent).getAsJsonObject().get("tagid_list"),
|
||||
GsonParser.parse(responseContent).get("tagid_list"),
|
||||
new TypeToken<List<Long>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import me.chanjar.weixin.mp.bean.result.WxMpResult;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
|
||||
@@ -2,8 +2,6 @@ package me.chanjar.weixin.mp.bean.comment;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.xml.IntegerArrayConverter;
|
||||
import me.chanjar.weixin.mp.bean.device.WxDeviceQrCodeResult;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
@@ -116,7 +117,7 @@ public class WxDataCubeArticleResult extends WxDataCubeBaseResult {
|
||||
|
||||
public static List<WxDataCubeArticleResult> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("list"),
|
||||
new TypeToken<List<WxDataCubeArticleResult>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class WxDataCubeArticleTotal extends WxDataCubeBaseResult {
|
||||
|
||||
public static List<WxDataCubeArticleTotal> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("list"),
|
||||
new TypeToken<List<WxDataCubeArticleTotal>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package me.chanjar.weixin.mp.bean.datacube;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
@@ -18,7 +17,6 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
@Data
|
||||
public abstract class WxDataCubeBaseResult implements Serializable {
|
||||
private static final long serialVersionUID = 8780389911053297600L;
|
||||
protected static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
/**
|
||||
* ref_date.
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.List;
|
||||
@@ -57,7 +58,7 @@ public class WxDataCubeInterfaceResult extends WxDataCubeBaseResult {
|
||||
|
||||
public static List<WxDataCubeInterfaceResult> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("list"),
|
||||
new TypeToken<List<WxDataCubeInterfaceResult>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.List;
|
||||
@@ -70,7 +71,7 @@ public class WxDataCubeMsgResult extends WxDataCubeBaseResult {
|
||||
|
||||
public static List<WxDataCubeMsgResult> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("list"),
|
||||
new TypeToken<List<WxDataCubeMsgResult>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -4,10 +4,9 @@ import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
@@ -20,7 +19,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
*/
|
||||
@Data
|
||||
public class WxDataCubeUserCumulate implements Serializable {
|
||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
|
||||
private static final long serialVersionUID = -3570981300225093657L;
|
||||
|
||||
@@ -30,7 +29,7 @@ public class WxDataCubeUserCumulate implements Serializable {
|
||||
|
||||
public static List<WxDataCubeUserCumulate> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("list"),
|
||||
new TypeToken<List<WxDataCubeUserCumulate>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -4,10 +4,9 @@ import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
@@ -20,7 +19,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
public class WxDataCubeUserSummary implements Serializable {
|
||||
private static final long serialVersionUID = -2336654489906694173L;
|
||||
|
||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
|
||||
private Date refDate;
|
||||
|
||||
@@ -32,7 +31,7 @@ public class WxDataCubeUserSummary implements Serializable {
|
||||
|
||||
public static List<WxDataCubeUserSummary> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("list"),
|
||||
new TypeToken<List<WxDataCubeUserSummary>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package me.chanjar.weixin.mp.bean.kefu.result;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
@@ -2,7 +2,6 @@ package me.chanjar.weixin.mp.bean.kefu.result;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package me.chanjar.weixin.mp.bean.marketing;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -15,7 +15,6 @@ import java.util.List;
|
||||
@Data
|
||||
public class WxMpAdLeadResult implements Serializable {
|
||||
private static final long serialVersionUID = -1526796632563660821L;
|
||||
protected static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
@SerializedName("page_info")
|
||||
private WxMpAdLeadPageInfo pageInfo;
|
||||
@@ -25,7 +24,7 @@ public class WxMpAdLeadResult implements Serializable {
|
||||
public static WxMpAdLeadResult fromJson(String json) {
|
||||
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("data"),
|
||||
GsonParser.parse(json).get("data"),
|
||||
new TypeToken<WxMpAdLeadResult>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package me.chanjar.weixin.mp.bean.marketing;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -16,7 +16,6 @@ import java.util.List;
|
||||
@Data
|
||||
public class WxMpUserActionSet implements Serializable {
|
||||
private static final long serialVersionUID = 1979861770645159905L;
|
||||
protected static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
/**
|
||||
* user_action_set_id
|
||||
@@ -48,7 +47,7 @@ public class WxMpUserActionSet implements Serializable {
|
||||
|
||||
public static List<WxMpUserActionSet> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
JSON_PARSER.parse(json).getAsJsonObject().get("data").getAsJsonObject().get("list"),
|
||||
GsonParser.parse(json).get("data").getAsJsonObject().get("list"),
|
||||
new TypeToken<List<WxMpUserActionSet>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ package me.chanjar.weixin.mp.bean.tag;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
@@ -37,13 +37,13 @@ public class WxUserTag implements Serializable {
|
||||
|
||||
public static WxUserTag fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(json).getAsJsonObject().get("tag"),
|
||||
GsonParser.parse(json).get("tag"),
|
||||
WxUserTag.class);
|
||||
}
|
||||
|
||||
public static List<WxUserTag> listFromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(json).getAsJsonObject().get("tags"),
|
||||
GsonParser.parse(json).get("tags"),
|
||||
new TypeToken<List<WxUserTag>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ package me.chanjar.weixin.mp.bean.template;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
@@ -19,7 +19,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
*/
|
||||
@Data
|
||||
public class WxMpTemplate implements Serializable {
|
||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||
|
||||
private static final long serialVersionUID = -7366474522571199372L;
|
||||
|
||||
/**
|
||||
@@ -60,7 +60,7 @@ public class WxMpTemplate implements Serializable {
|
||||
private String example;
|
||||
|
||||
public static List<WxMpTemplate> fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(JSON_PARSER.parse(json).getAsJsonObject().get("template_list"),
|
||||
return WxMpGsonBuilder.create().fromJson(GsonParser.parse(json).get("template_list"),
|
||||
new TypeToken<List<WxMpTemplate>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package me.chanjar.weixin.mp.bean.wifi;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.List;
|
||||
@@ -17,7 +17,7 @@ import java.util.List;
|
||||
public class WxMpWifiShopDataResult {
|
||||
public static WxMpWifiShopDataResult fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(json).getAsJsonObject().get("data"),
|
||||
GsonParser.parse(json).get("data"),
|
||||
WxMpWifiShopDataResult.class);
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ public class WxMpWifiShopDataResult {
|
||||
*/
|
||||
@SerializedName("finishpage_url")
|
||||
private String finishPageUrl;
|
||||
|
||||
|
||||
/**
|
||||
* 商户自己的id,与门店poi_id对应关系,建议在添加门店时候建立关联关系,具体请参考“微信门店接口”.
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package me.chanjar.weixin.mp.bean.wifi;
|
||||
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.GsonParser;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.List;
|
||||
@@ -18,7 +18,7 @@ import java.util.List;
|
||||
public class WxMpWifiShopListResult {
|
||||
public static WxMpWifiShopListResult fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(
|
||||
new JsonParser().parse(json).getAsJsonObject().get("data"),
|
||||
GsonParser.parse(json).get("data"),
|
||||
WxMpWifiShopListResult.class);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ package me.chanjar.weixin.mp.util.crypto;
|
||||
import com.google.common.base.CharMatcher;
|
||||
import com.google.common.io.BaseEncoding;
|
||||
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
public class WxMpCryptUtil extends me.chanjar.weixin.common.util.crypto.WxCryptUtil {
|
||||
|
||||
|
||||
@@ -9,8 +9,6 @@ import me.chanjar.weixin.mp.bean.marketing.WxMpUserAction;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static org.testng.Assert.*;
|
||||
|
||||
/**
|
||||
* 测试类.
|
||||
*
|
||||
|
||||
@@ -9,7 +9,6 @@ import me.chanjar.weixin.mp.bean.WxMpUserQuery;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpChangeOpenid;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUserList;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeTest;
|
||||
|
||||
@@ -2,7 +2,6 @@ package me.chanjar.weixin.mp.bean.membercard;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static org.testng.Assert.assertFalse;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.testng.annotations.Test;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.testng.Assert.*;
|
||||
|
||||
/**
|
||||
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||
|
||||
Reference in New Issue
Block a user