mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-02-14 12:06:24 +08:00
🎨 升级部分依赖版本,优化代码,部分代码增加泛型参数
This commit is contained in:
@@ -2,9 +2,6 @@ package me.chanjar.weixin.mp.api;
|
||||
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.bean.card.CardUpdateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardActivateUserFormRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardActivateUserFormResult;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardUpdateRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.*;
|
||||
|
||||
|
||||
@@ -528,7 +528,7 @@ public interface WxMpService extends WxService {
|
||||
*
|
||||
* @return RequestHttp对象 request http
|
||||
*/
|
||||
RequestHttp getRequestHttp();
|
||||
RequestHttp<?, ?> getRequestHttp();
|
||||
|
||||
/**
|
||||
* 返回群发消息相关接口方法的实现类对象,以方便调用其各个接口.
|
||||
|
||||
@@ -11,11 +11,9 @@ import java.util.List;
|
||||
* 门店管理的相关接口代码.
|
||||
* Created by Binary Wang on 2016-09-23.
|
||||
*
|
||||
* @param <H> the type parameter
|
||||
* @param <P> the type parameter
|
||||
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||
*/
|
||||
public interface WxMpStoreService<H, P> {
|
||||
public interface WxMpStoreService {
|
||||
/**
|
||||
* <pre>
|
||||
* 创建门店
|
||||
|
||||
@@ -188,7 +188,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
|
||||
return SHA1.gen(this.getWxMpConfigStorage().getToken(), timestamp, nonce)
|
||||
.equals(signature);
|
||||
} catch (Exception e) {
|
||||
log.error("Checking signature failed, and the reason is :" + e.getMessage());
|
||||
log.error("Checking signature failed, and the reason is :{}", e.getMessage());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -649,7 +649,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
|
||||
}
|
||||
|
||||
@Override
|
||||
public RequestHttp getRequestHttp() {
|
||||
public RequestHttp<H, P> getRequestHttp() {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
if (!"0".equals(errcode)) {
|
||||
String errmsg = json.get("errmsg").getAsString();
|
||||
throw new WxErrorException(WxError.builder()
|
||||
.errorCode(Integer.valueOf(errcode)).errorMsg(errmsg)
|
||||
.errorCode(Integer.parseInt(errcode)).errorMsg(errmsg)
|
||||
.build());
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
@Override
|
||||
public WxMpCardCodeDepositResult cardCodeDeposit(String cardId, List<String> codeList) throws WxErrorException {
|
||||
checkCardId(cardId);
|
||||
if (codeList.size() == 0 || codeList.size() > 100) {
|
||||
if (codeList.isEmpty() || codeList.size() > 100) {
|
||||
throw new WxErrorException(WxError.builder().errorCode(40109).errorMsg("code数量为0或者code数量超过100个").build());
|
||||
}
|
||||
JsonObject param = new JsonObject();
|
||||
@@ -283,7 +283,7 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
@Override
|
||||
public WxMpCardCodeCheckcodeResult cardCodeCheckcode(String cardId, List<String> codeList) throws WxErrorException {
|
||||
checkCardId(cardId);
|
||||
if (codeList.size() == 0 || codeList.size() > 100) {
|
||||
if (codeList.isEmpty() || codeList.size() > 100) {
|
||||
throw new WxErrorException(WxError.builder().errorCode(40109).errorMsg("code数量为0或者code数量超过100个").build());
|
||||
}
|
||||
JsonObject param = new JsonObject();
|
||||
|
||||
@@ -121,7 +121,7 @@ public class WxMpGuideServiceImpl implements WxMpGuideService {
|
||||
@Override
|
||||
public void setGuideAcctConfig(boolean isDelete, List<String> blackKeyWord, String guideAutoReply) throws WxErrorException {
|
||||
JsonObject jsonObject1 = null;
|
||||
if (blackKeyWord != null && blackKeyWord.size() > 0) {
|
||||
if (blackKeyWord != null && !blackKeyWord.isEmpty()) {
|
||||
jsonObject1 = new JsonObject();
|
||||
JsonArray jsonArray = new JsonArray();
|
||||
blackKeyWord.forEach(jsonArray::add);
|
||||
|
||||
@@ -91,7 +91,7 @@ public class WxMpGuideTagServiceImpl implements WxMpGuideTagService {
|
||||
new TypeToken<List<String>>() {
|
||||
}.getType());
|
||||
if (isExclude) {
|
||||
if (list.size() > 0) {
|
||||
if (!list.isEmpty()) {
|
||||
if (list.get(list.size() - 1).contains("\n")) {
|
||||
list.remove(list.size() - 1);
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ public class WxMpKefuServiceImpl implements WxMpKefuService {
|
||||
if (result != null && result.getNumber() == number) {
|
||||
Long msgId = result.getMsgId();
|
||||
WxMpKfMsgList followingResult = this.kfMsgList(startTime, endTime, msgId, number);
|
||||
while (followingResult != null && followingResult.getRecords().size() > 0) {
|
||||
while (followingResult != null && !followingResult.getRecords().isEmpty()) {
|
||||
result.getRecords().addAll(followingResult.getRecords());
|
||||
result.setNumber(result.getNumber() + followingResult.getNumber());
|
||||
result.setMsgId(followingResult.getMsgId());
|
||||
|
||||
@@ -24,11 +24,6 @@ import me.chanjar.weixin.mp.bean.card.AdvancedInfo;
|
||||
import me.chanjar.weixin.mp.bean.card.BaseInfo;
|
||||
import me.chanjar.weixin.mp.bean.card.CardUpdateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.DateInfo;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCard;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardActivateUserFormRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardActivateUserFormResult;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardCreateRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardUpdateRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.enums.BusinessServiceType;
|
||||
import me.chanjar.weixin.mp.bean.card.enums.CardColor;
|
||||
|
||||
@@ -12,7 +12,6 @@ import me.chanjar.weixin.mp.api.WxMpMerchantInvoiceService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.invoice.merchant.*;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpQrcodeService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
|
||||
@@ -86,7 +86,7 @@ public class WxMpStoreServiceImpl implements WxMpStoreService {
|
||||
if (list.getTotalCount() > limit) {
|
||||
int begin = limit;
|
||||
WxMpStoreListResult followingList = this.list(begin, limit);
|
||||
while (followingList.getBusinessList().size() > 0) {
|
||||
while (!followingList.getBusinessList().isEmpty()) {
|
||||
stores.addAll(followingList.getBusinessList());
|
||||
begin += limit;
|
||||
if (begin >= list.getTotalCount()) {
|
||||
|
||||
@@ -46,11 +46,7 @@ public class WxMpWifiServiceImpl implements WxMpWifiService {
|
||||
if (password != null) {
|
||||
json.addProperty("password", password);
|
||||
}
|
||||
try {
|
||||
this.wxMpService.post(BIZWIFI_SHOP_UPDATE, json.toString());
|
||||
return true;
|
||||
} catch (WxErrorException e) {
|
||||
throw e;
|
||||
}
|
||||
this.wxMpService.post(BIZWIFI_SHOP_UPDATE, json.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public class WxMpShakeInfoResult implements Serializable {
|
||||
}
|
||||
|
||||
@Data
|
||||
public class ShakeInfoData implements Serializable {
|
||||
public static class ShakeInfoData implements Serializable {
|
||||
private static final long serialVersionUID = -4828142206067489488L;
|
||||
|
||||
private String page_id;
|
||||
|
||||
@@ -9,7 +9,7 @@ public enum BusinessServiceType {
|
||||
BIZ_SERVICE_WITH_PET("可带宠物"),
|
||||
BIZ_SERVICE_FREE_WIFI("可带宠物");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
BusinessServiceType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -9,7 +9,7 @@ public enum CardCodeType {
|
||||
CODE_TYPE_BARCODE("一维码"),
|
||||
CODE_TYPE_QRCODE("二维码");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CardCodeType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -22,7 +22,7 @@ public enum CardColor {
|
||||
Color101("#cf3e36"),
|
||||
Color102("#5E6671");
|
||||
|
||||
private String type;
|
||||
private final String type;
|
||||
|
||||
CardColor(String type) {
|
||||
this.type = type;
|
||||
|
||||
@@ -11,7 +11,7 @@ public enum CardFieldType {
|
||||
CUSTOM_FIELD("自定义选项"),
|
||||
RICH_FIELD("自定义富文本类型");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CardFieldType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -11,7 +11,7 @@ public enum CardRichFieldType {
|
||||
FORM_FIELD_SELECT("自定义选择项"),
|
||||
FORM_FIELD_CHECK_BOX("自定义多选");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CardRichFieldType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -9,7 +9,7 @@ public enum CardSceneType {
|
||||
SCENE_IVR("自动回复"),
|
||||
SCENE_CARD_CUSTOM_CELL("卡券自定义cell");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CardSceneType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -7,7 +7,7 @@ public enum CardStatusType {
|
||||
CARD_STATUS_DELETE("卡券被商户删除"),
|
||||
CARD_STATUS_DISPATCH("在公众平台投放过的卡券");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CardStatusType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -23,7 +23,7 @@ public enum CardWechatFieldType {
|
||||
USER_FORM_INFO_FLAG_INCOME("收入"),
|
||||
USER_FORM_INFO_FLAG_HABIT("兴趣爱好");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CardWechatFieldType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -14,7 +14,7 @@ public enum CustomFieldNameType {
|
||||
FIELD_NAME_TYPE_SET_POINTS("集点"),
|
||||
FIELD_NAME_TYPE_TIMS("次数");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
CustomFieldNameType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -5,7 +5,7 @@ public enum DateInfoType {
|
||||
DATE_TYPE_FIX_TIME_RANGE("固定日期"),
|
||||
DATE_TYPE_FIX_TERM("固定时长");
|
||||
|
||||
private String description;
|
||||
private final String description;
|
||||
|
||||
DateInfoType(String description) {
|
||||
this.description = description;
|
||||
|
||||
@@ -21,7 +21,7 @@ public class BaseResp extends AbstractDeviceBean {
|
||||
private String errMsg;
|
||||
|
||||
@Data
|
||||
private class BaseInfo {
|
||||
private static class BaseInfo {
|
||||
@SerializedName("device_type")
|
||||
private String deviceType;
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ public enum AiLangType {
|
||||
*/
|
||||
en_US("en_US");
|
||||
|
||||
private String code;
|
||||
private final String code;
|
||||
|
||||
AiLangType(String code) {
|
||||
this.code = code;
|
||||
|
||||
@@ -14,7 +14,7 @@ public enum WxCardType {
|
||||
GIFT("GIFT"),
|
||||
GENERAL_COUPON("GENERAL_COUPON");
|
||||
|
||||
private String code;
|
||||
private final String code;
|
||||
|
||||
WxCardType(String code) {
|
||||
this.code = code;
|
||||
|
||||
@@ -5,12 +5,7 @@ package me.chanjar.weixin.mp.util;
|
||||
* created on 2019-03-20 22:06
|
||||
*/
|
||||
public class WxMpConfigStorageHolder {
|
||||
private static final ThreadLocal<String> THREAD_LOCAL = new ThreadLocal<String>() {
|
||||
@Override
|
||||
protected String initialValue() {
|
||||
return "default";
|
||||
}
|
||||
};
|
||||
private static final ThreadLocal<String> THREAD_LOCAL = ThreadLocal.withInitial(() -> "default");
|
||||
|
||||
public static String get() {
|
||||
return THREAD_LOCAL.get();
|
||||
|
||||
@@ -17,8 +17,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.lang3.StringUtils;
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.Map;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialDeleteApacheHttpRequestExecutor extends MaterialDeleteRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public MaterialDeleteApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialDeleteApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
@@ -18,7 +17,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialDeleteJoddHttpRequestExecutor extends MaterialDeleteRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public MaterialDeleteJoddHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialDeleteJoddHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.io.IOException;
|
||||
public class MaterialDeleteOkhttpRequestExecutor extends MaterialDeleteRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
public MaterialDeleteOkhttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialDeleteOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,16 +2,22 @@ package me.chanjar.weixin.mp.util.requestexecuter.material;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
public abstract class MaterialDeleteRequestExecutor<H, P> implements RequestExecutor<Boolean, String> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public MaterialDeleteRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialDeleteRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -20,14 +26,15 @@ public abstract class MaterialDeleteRequestExecutor<H, P> implements RequestExec
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<Boolean, String> create(RequestHttp requestHttp) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<Boolean, String> create(RequestHttp<?, ?> requestHttp) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new MaterialDeleteApacheHttpRequestExecutor(requestHttp);
|
||||
return new MaterialDeleteApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
return new MaterialDeleteJoddHttpRequestExecutor(requestHttp);
|
||||
return new MaterialDeleteJoddHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp);
|
||||
case OK_HTTP:
|
||||
return new MaterialDeleteOkhttpRequestExecutor(requestHttp);
|
||||
return new MaterialDeleteOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
public class MaterialNewsInfoApacheHttpRequestExecutor
|
||||
extends MaterialNewsInfoRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
|
||||
public MaterialNewsInfoApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialNewsInfoApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
@@ -15,8 +14,6 @@ import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
import me.chanjar.weixin.mp.bean.material.WxMpMaterialNews;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@@ -26,7 +23,7 @@ import java.nio.charset.StandardCharsets;
|
||||
*/
|
||||
@Slf4j
|
||||
public class MaterialNewsInfoJoddHttpRequestExecutor extends MaterialNewsInfoRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public MaterialNewsInfoJoddHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialNewsInfoJoddHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
*/
|
||||
@Slf4j
|
||||
public class MaterialNewsInfoOkhttpRequestExecutor extends MaterialNewsInfoRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
public MaterialNewsInfoOkhttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialNewsInfoOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,17 +2,23 @@ package me.chanjar.weixin.mp.util.requestexecuter.material;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import me.chanjar.weixin.mp.bean.material.WxMpMaterialNews;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
public abstract class MaterialNewsInfoRequestExecutor<H, P> implements RequestExecutor<WxMpMaterialNews, String> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public MaterialNewsInfoRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialNewsInfoRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -21,14 +27,15 @@ public abstract class MaterialNewsInfoRequestExecutor<H, P> implements RequestEx
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<WxMpMaterialNews, String> create(RequestHttp requestHttp) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<WxMpMaterialNews, String> create(RequestHttp<?, ?> requestHttp) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new MaterialNewsInfoApacheHttpRequestExecutor(requestHttp);
|
||||
return new MaterialNewsInfoApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
return new MaterialNewsInfoJoddHttpRequestExecutor(requestHttp);
|
||||
return new MaterialNewsInfoJoddHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp);
|
||||
case OK_HTTP:
|
||||
return new MaterialNewsInfoOkhttpRequestExecutor(requestHttp);
|
||||
return new MaterialNewsInfoOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp);
|
||||
default:
|
||||
//TODO 需要优化抛出异常
|
||||
return null;
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.Map;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialUploadApacheHttpRequestExecutor extends MaterialUploadRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public MaterialUploadApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialUploadApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
@@ -24,7 +23,7 @@ import java.util.Map;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialUploadJoddHttpRequestExecutor extends MaterialUploadRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public MaterialUploadJoddHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialUploadJoddHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.Map;
|
||||
public class MaterialUploadOkhttpRequestExecutor extends MaterialUploadRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
public MaterialUploadOkhttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialUploadOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,19 @@ package me.chanjar.weixin.mp.util.requestexecuter.material;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import me.chanjar.weixin.mp.bean.material.WxMpMaterial;
|
||||
import me.chanjar.weixin.mp.bean.material.WxMpMaterialUploadResult;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
/**
|
||||
* @author codepiano
|
||||
@@ -16,7 +22,7 @@ import me.chanjar.weixin.mp.bean.material.WxMpMaterialUploadResult;
|
||||
public abstract class MaterialUploadRequestExecutor<H, P> implements RequestExecutor<WxMpMaterialUploadResult, WxMpMaterial> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public MaterialUploadRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialUploadRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -25,14 +31,15 @@ public abstract class MaterialUploadRequestExecutor<H, P> implements RequestExec
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<WxMpMaterialUploadResult, WxMpMaterial> create(RequestHttp requestHttp) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<WxMpMaterialUploadResult, WxMpMaterial> create(RequestHttp<?, ?> requestHttp) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new MaterialUploadApacheHttpRequestExecutor(requestHttp);
|
||||
return new MaterialUploadApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
return new MaterialUploadJoddHttpRequestExecutor(requestHttp);
|
||||
return new MaterialUploadJoddHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp);
|
||||
case OK_HTTP:
|
||||
return new MaterialUploadOkhttpRequestExecutor(requestHttp);
|
||||
return new MaterialUploadOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.Map;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialVideoInfoApacheHttpRequestExecutor extends MaterialVideoInfoRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public MaterialVideoInfoApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialVideoInfoApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
@@ -19,7 +18,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialVideoInfoJoddHttpRequestExecutor extends MaterialVideoInfoRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public MaterialVideoInfoJoddHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialVideoInfoJoddHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.io.IOException;
|
||||
public class MaterialVideoInfoOkhttpRequestExecutor extends MaterialVideoInfoRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
public MaterialVideoInfoOkhttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialVideoInfoOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,17 +3,23 @@ package me.chanjar.weixin.mp.util.requestexecuter.material;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import me.chanjar.weixin.mp.bean.material.WxMpMaterialVideoInfoResult;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
public abstract class MaterialVideoInfoRequestExecutor<H, P> implements RequestExecutor<WxMpMaterialVideoInfoResult, String> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public MaterialVideoInfoRequestExecutor(RequestHttp requestHttp) {
|
||||
public MaterialVideoInfoRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -22,14 +28,15 @@ public abstract class MaterialVideoInfoRequestExecutor<H, P> implements RequestE
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<WxMpMaterialVideoInfoResult, String> create(RequestHttp requestHttp) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<WxMpMaterialVideoInfoResult, String> create(RequestHttp<?, ?> requestHttp) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new MaterialVideoInfoApacheHttpRequestExecutor(requestHttp);
|
||||
return new MaterialVideoInfoApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
return new MaterialVideoInfoJoddHttpRequestExecutor(requestHttp);
|
||||
return new MaterialVideoInfoJoddHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp);
|
||||
case OK_HTTP:
|
||||
return new MaterialVideoInfoOkhttpRequestExecutor(requestHttp);
|
||||
return new MaterialVideoInfoOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.Map;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialVoiceAndImageDownloadApacheHttpRequestExecutor extends MaterialVoiceAndImageDownloadRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public MaterialVoiceAndImageDownloadApacheHttpRequestExecutor(RequestHttp requestHttp, File tmpDirFile) {
|
||||
public MaterialVoiceAndImageDownloadApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp, File tmpDirFile) {
|
||||
super(requestHttp, tmpDirFile);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
@@ -23,7 +22,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class MaterialVoiceAndImageDownloadJoddHttpRequestExecutor extends MaterialVoiceAndImageDownloadRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public MaterialVoiceAndImageDownloadJoddHttpRequestExecutor(RequestHttp requestHttp, File tmpDirFile) {
|
||||
public MaterialVoiceAndImageDownloadJoddHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp, File tmpDirFile) {
|
||||
super(requestHttp, tmpDirFile);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,6 @@ import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
import okhttp3.*;
|
||||
import okio.BufferedSink;
|
||||
import okio.Okio;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -22,7 +20,7 @@ import java.io.*;
|
||||
public class MaterialVoiceAndImageDownloadOkhttpRequestExecutor extends MaterialVoiceAndImageDownloadRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
public MaterialVoiceAndImageDownloadOkhttpRequestExecutor(RequestHttp requestHttp, File tmpDirFile) {
|
||||
public MaterialVoiceAndImageDownloadOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp, File tmpDirFile) {
|
||||
super(requestHttp, tmpDirFile);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,17 +4,23 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
public abstract class MaterialVoiceAndImageDownloadRequestExecutor<H, P> implements RequestExecutor<InputStream, String> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
protected File tmpDirFile;
|
||||
|
||||
public MaterialVoiceAndImageDownloadRequestExecutor(RequestHttp requestHttp, File tmpDirFile) {
|
||||
public MaterialVoiceAndImageDownloadRequestExecutor(RequestHttp<H, P> requestHttp, File tmpDirFile) {
|
||||
this.requestHttp = requestHttp;
|
||||
this.tmpDirFile = tmpDirFile;
|
||||
}
|
||||
@@ -24,14 +30,15 @@ public abstract class MaterialVoiceAndImageDownloadRequestExecutor<H, P> impleme
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<InputStream, String> create(RequestHttp requestHttp, File tmpDirFile) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<InputStream, String> create(RequestHttp<?, ?> requestHttp, File tmpDirFile) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new MaterialVoiceAndImageDownloadApacheHttpRequestExecutor(requestHttp, tmpDirFile);
|
||||
return new MaterialVoiceAndImageDownloadApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp, tmpDirFile);
|
||||
case JODD_HTTP:
|
||||
return new MaterialVoiceAndImageDownloadJoddHttpRequestExecutor(requestHttp, tmpDirFile);
|
||||
return new MaterialVoiceAndImageDownloadJoddHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp, tmpDirFile);
|
||||
case OK_HTTP:
|
||||
return new MaterialVoiceAndImageDownloadOkhttpRequestExecutor(requestHttp, tmpDirFile);
|
||||
return new MaterialVoiceAndImageDownloadOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp, tmpDirFile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.apache.http.HttpHost;
|
||||
import org.apache.http.client.config.RequestConfig;
|
||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.http.entity.mime.HttpMultipartMode;
|
||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
@@ -25,7 +24,7 @@ import java.io.IOException;
|
||||
* @author ecoolper
|
||||
*/
|
||||
public class MediaImgUploadApacheHttpRequestExecutor extends MediaImgUploadRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public MediaImgUploadApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MediaImgUploadApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
@@ -22,7 +21,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* @author ecoolper
|
||||
*/
|
||||
public class MediaImgUploadHttpRequestExecutor extends MediaImgUploadRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public MediaImgUploadHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MediaImgUploadHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.io.IOException;
|
||||
public class MediaImgUploadOkhttpRequestExecutor extends MediaImgUploadRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
public MediaImgUploadOkhttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public MediaImgUploadOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,12 +3,18 @@ package me.chanjar.weixin.mp.util.requestexecuter.media;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import me.chanjar.weixin.mp.bean.material.WxMediaImgUploadResult;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
/**
|
||||
* @author miller
|
||||
@@ -16,7 +22,7 @@ import me.chanjar.weixin.mp.bean.material.WxMediaImgUploadResult;
|
||||
public abstract class MediaImgUploadRequestExecutor<H, P> implements RequestExecutor<WxMediaImgUploadResult, File> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public MediaImgUploadRequestExecutor(RequestHttp requestHttp) {
|
||||
public MediaImgUploadRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -25,14 +31,15 @@ public abstract class MediaImgUploadRequestExecutor<H, P> implements RequestExec
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<WxMediaImgUploadResult, File> create(RequestHttp requestHttp) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<WxMediaImgUploadResult, File> create(RequestHttp<?, ?> requestHttp) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new MediaImgUploadApacheHttpRequestExecutor(requestHttp);
|
||||
return new MediaImgUploadApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
return new MediaImgUploadHttpRequestExecutor(requestHttp);
|
||||
return new MediaImgUploadHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp);
|
||||
case OK_HTTP:
|
||||
return new MediaImgUploadOkhttpRequestExecutor(requestHttp);
|
||||
return new MediaImgUploadOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.UUID;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class QrCodeApacheHttpRequestExecutor extends QrCodeRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public QrCodeApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public QrCodeApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import jodd.http.HttpRequest;
|
||||
import jodd.http.HttpResponse;
|
||||
import jodd.http.ProxyInfo;
|
||||
import jodd.net.MimeTypes;
|
||||
import jodd.util.StringPool;
|
||||
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
@@ -26,7 +25,7 @@ import java.util.UUID;
|
||||
* Created by ecoolper on 2017/5/5.
|
||||
*/
|
||||
public class QrCodeJoddHttpRequestExecutor extends QrCodeRequestExecutor<HttpConnectionProvider, ProxyInfo> {
|
||||
public QrCodeJoddHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public QrCodeJoddHttpRequestExecutor(RequestHttp<HttpConnectionProvider, ProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.UUID;
|
||||
public class QrCodeOkhttpRequestExecutor extends QrCodeRequestExecutor<OkHttpClient, OkHttpProxyInfo> {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
public QrCodeOkhttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public QrCodeOkhttpRequestExecutor(RequestHttp<OkHttpClient, OkHttpProxyInfo> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,13 +3,18 @@ package me.chanjar.weixin.mp.util.requestexecuter.qrcode;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import jodd.http.HttpConnectionProvider;
|
||||
import jodd.http.ProxyInfo;
|
||||
import me.chanjar.weixin.common.enums.WxType;
|
||||
import me.chanjar.weixin.common.error.WxError;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import me.chanjar.weixin.common.util.http.okhttp.OkHttpProxyInfo;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
/**
|
||||
* 获得QrCode图片 请求执行器.
|
||||
@@ -19,7 +24,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
|
||||
public abstract class QrCodeRequestExecutor<H, P> implements RequestExecutor<File, WxMpQrCodeTicket> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public QrCodeRequestExecutor(RequestHttp requestHttp) {
|
||||
public QrCodeRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -28,14 +33,15 @@ public abstract class QrCodeRequestExecutor<H, P> implements RequestExecutor<Fil
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<File, WxMpQrCodeTicket> create(RequestHttp requestHttp) throws WxErrorException {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<File, WxMpQrCodeTicket> create(RequestHttp<?, ?> requestHttp) throws WxErrorException {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new QrCodeApacheHttpRequestExecutor(requestHttp);
|
||||
return new QrCodeApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
return new QrCodeJoddHttpRequestExecutor(requestHttp);
|
||||
return new QrCodeJoddHttpRequestExecutor((RequestHttp<HttpConnectionProvider, ProxyInfo>) requestHttp);
|
||||
case OK_HTTP:
|
||||
return new QrCodeOkhttpRequestExecutor(requestHttp);
|
||||
return new QrCodeOkhttpRequestExecutor((RequestHttp<OkHttpClient, OkHttpProxyInfo>) requestHttp);
|
||||
default:
|
||||
throw new WxErrorException("不支持的http框架");
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import org.apache.http.HttpHost;
|
||||
import org.apache.http.client.config.RequestConfig;
|
||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.http.entity.mime.HttpMultipartMode;
|
||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
@@ -26,7 +25,7 @@ import java.io.IOException;
|
||||
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||
*/
|
||||
public class VoiceUploadApacheHttpRequestExecutor extends VoiceUploadRequestExecutor<CloseableHttpClient, HttpHost> {
|
||||
public VoiceUploadApacheHttpRequestExecutor(RequestHttp requestHttp) {
|
||||
public VoiceUploadApacheHttpRequestExecutor(RequestHttp<CloseableHttpClient, HttpHost> requestHttp) {
|
||||
super(requestHttp);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||
import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
@@ -19,7 +21,7 @@ import me.chanjar.weixin.common.util.http.ResponseHandler;
|
||||
public abstract class VoiceUploadRequestExecutor<H, P> implements RequestExecutor<Boolean, File> {
|
||||
protected RequestHttp<H, P> requestHttp;
|
||||
|
||||
public VoiceUploadRequestExecutor(RequestHttp requestHttp) {
|
||||
public VoiceUploadRequestExecutor(RequestHttp<H, P> requestHttp) {
|
||||
this.requestHttp = requestHttp;
|
||||
}
|
||||
|
||||
@@ -28,10 +30,11 @@ public abstract class VoiceUploadRequestExecutor<H, P> implements RequestExecuto
|
||||
handler.handle(this.execute(uri, data, wxType));
|
||||
}
|
||||
|
||||
public static RequestExecutor<Boolean, File> create(RequestHttp requestHttp) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static RequestExecutor<Boolean, File> create(RequestHttp<?, ?> requestHttp) {
|
||||
switch (requestHttp.getRequestType()) {
|
||||
case APACHE_HTTP:
|
||||
return new VoiceUploadApacheHttpRequestExecutor(requestHttp);
|
||||
return new VoiceUploadApacheHttpRequestExecutor((RequestHttp<CloseableHttpClient, HttpHost>) requestHttp);
|
||||
case JODD_HTTP:
|
||||
case OK_HTTP:
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user