@@ -1,4 +1,4 @@ | |||||
package cn.binarywang.wx.miniapp.constant; | |||||
package me.chanjar.weixin.common.enums; | |||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||
@@ -18,10 +18,15 @@ public enum TicketType { | |||||
* jsapi | * jsapi | ||||
*/ | */ | ||||
JSAPI("jsapi"), | JSAPI("jsapi"), | ||||
/** | |||||
* sdk | |||||
*/ | |||||
SDK("2"), | |||||
/** | /** | ||||
* 微信卡券 | * 微信卡券 | ||||
*/ | */ | ||||
WX_CARD("wx_card"); | WX_CARD("wx_card"); | ||||
/** | /** | ||||
* type代码 | * type代码 | ||||
*/ | */ |
@@ -3,8 +3,8 @@ package me.chanjar.weixin.cp.api.impl; | |||||
import jodd.http.HttpConnectionProvider; | import jodd.http.HttpConnectionProvider; | ||||
import jodd.http.HttpRequest; | import jodd.http.HttpRequest; | ||||
import jodd.http.HttpResponse; | import jodd.http.HttpResponse; | ||||
import jodd.http.JoddHttp; | |||||
import jodd.http.ProxyInfo; | import jodd.http.ProxyInfo; | ||||
import jodd.http.net.SocketHttpConnectionProvider; | |||||
import me.chanjar.weixin.common.WxType; | import me.chanjar.weixin.common.WxType; | ||||
import me.chanjar.weixin.common.bean.WxAccessToken; | import me.chanjar.weixin.common.bean.WxAccessToken; | ||||
import me.chanjar.weixin.common.error.WxError; | import me.chanjar.weixin.common.error.WxError; | ||||
@@ -68,7 +68,7 @@ public class WxCpServiceJoddHttpImpl extends BaseWxCpServiceImpl<HttpConnectionP | |||||
configStorage.getHttpProxyPort(), configStorage.getHttpProxyUsername(), configStorage.getHttpProxyPassword()); | configStorage.getHttpProxyPort(), configStorage.getHttpProxyUsername(), configStorage.getHttpProxyPassword()); | ||||
} | } | ||||
httpClient = JoddHttp.httpConnectionProvider; | |||||
httpClient = new SocketHttpConnectionProvider(); | |||||
} | } | ||||
@Override | @Override | ||||
@@ -133,7 +133,7 @@ public class BaseWxCpTpServiceImplTest { | |||||
assertThat(tpCorp.getPermanentCode()).isEqualTo("xxxx"); | assertThat(tpCorp.getPermanentCode()).isEqualTo("xxxx"); | ||||
final WxCpTpPermanentCodeInfo tpPermanentCodeInfo = tpService.getPermanentCodeInfo(authCode); | final WxCpTpPermanentCodeInfo tpPermanentCodeInfo = tpService.getPermanentCodeInfo(authCode); | ||||
assertThat(tpPermanentCodeInfo.getAuthInfo().getAgent().get(0).getAgentid()).isEqualTo(1); | |||||
assertThat(tpPermanentCodeInfo.getAuthInfo().getAgents().get(0).getAgentId()).isEqualTo(1); | |||||
} | } | ||||
@@ -193,8 +193,8 @@ public class BaseWxCpTpServiceImplTest { | |||||
jsonObject.addProperty("auth_code", authCode); | jsonObject.addProperty("auth_code", authCode); | ||||
doReturn(returnJson).when(tpService).post(configStorage.getApiUrl(GET_PERMANENT_CODE), jsonObject.toString()); | doReturn(returnJson).when(tpService).post(configStorage.getApiUrl(GET_PERMANENT_CODE), jsonObject.toString()); | ||||
final WxCpTpPermanentCodeInfo tpPermanentCodeInfo = tpService.getPermanentCodeInfo(authCode); | final WxCpTpPermanentCodeInfo tpPermanentCodeInfo = tpService.getPermanentCodeInfo(authCode); | ||||
assertThat(tpPermanentCodeInfo.getAuthInfo().getAgent().get(0).getAgentid()).isEqualTo(1000012); | |||||
assertNotNull(tpPermanentCodeInfo.getAuthInfo().getAgent().get(0).getSquareLogoUrl()); | |||||
assertThat(tpPermanentCodeInfo.getAuthInfo().getAgents().get(0).getAgentId()).isEqualTo(1000012); | |||||
assertNotNull(tpPermanentCodeInfo.getAuthInfo().getAgents().get(0).getSquareLogoUrl()); | |||||
assertNotNull(tpPermanentCodeInfo.getAuthCorpInfo().getCorpSquareLogoUrl()); | assertNotNull(tpPermanentCodeInfo.getAuthCorpInfo().getCorpSquareLogoUrl()); | ||||
} | } | ||||
@@ -70,9 +70,9 @@ public class WxCpXmlMessageTest { | |||||
assertEquals(wxMessage.getMediaId(), "media_id"); | assertEquals(wxMessage.getMediaId(), "media_id"); | ||||
assertEquals(wxMessage.getFormat(), "Format"); | assertEquals(wxMessage.getFormat(), "Format"); | ||||
assertEquals(wxMessage.getThumbMediaId(), "thumb_media_id"); | assertEquals(wxMessage.getThumbMediaId(), "thumb_media_id"); | ||||
assertEquals(wxMessage.getLocationX(), 23.134521d); | |||||
assertEquals(wxMessage.getLocationY(), 113.358803d); | |||||
assertEquals(wxMessage.getScale(), 20d); | |||||
assertEquals(wxMessage.getLocationX().doubleValue(), 23.134521d); | |||||
assertEquals(wxMessage.getLocationY().doubleValue(), 113.358803d); | |||||
assertEquals(wxMessage.getScale().doubleValue(), 20d); | |||||
assertEquals(wxMessage.getLabel(), "位置信息"); | assertEquals(wxMessage.getLabel(), "位置信息"); | ||||
assertEquals(wxMessage.getDescription(), "公众平台官网链接"); | assertEquals(wxMessage.getDescription(), "公众平台官网链接"); | ||||
assertEquals(wxMessage.getUrl(), "url"); | assertEquals(wxMessage.getUrl(), "url"); | ||||
@@ -80,9 +80,9 @@ public class WxCpXmlMessageTest { | |||||
assertEquals(wxMessage.getEvent(), "subscribe"); | assertEquals(wxMessage.getEvent(), "subscribe"); | ||||
assertEquals(wxMessage.getEventKey(), "qrscene_123123"); | assertEquals(wxMessage.getEventKey(), "qrscene_123123"); | ||||
assertEquals(wxMessage.getTicket(), "TICKET"); | assertEquals(wxMessage.getTicket(), "TICKET"); | ||||
assertEquals(wxMessage.getLatitude(), 23.137466); | |||||
assertEquals(wxMessage.getLongitude(), 113.352425); | |||||
assertEquals(wxMessage.getPrecision(), 119.385040); | |||||
assertEquals(wxMessage.getLatitude().doubleValue(), 23.137466); | |||||
assertEquals(wxMessage.getLongitude().doubleValue(), 113.352425); | |||||
assertEquals(wxMessage.getPrecision().doubleValue(), 119.385040); | |||||
assertEquals(wxMessage.getScanCodeInfo().getScanType(), "qrcode"); | assertEquals(wxMessage.getScanCodeInfo().getScanType(), "qrcode"); | ||||
assertEquals(wxMessage.getScanCodeInfo().getScanResult(), "1"); | assertEquals(wxMessage.getScanCodeInfo().getScanResult(), "1"); | ||||
assertEquals(wxMessage.getSendPicsInfo().getCount(), new Long(1)); | assertEquals(wxMessage.getSendPicsInfo().getCount(), new Long(1)); | ||||
@@ -1,6 +1,6 @@ | |||||
package cn.binarywang.wx.miniapp.config.impl; | package cn.binarywang.wx.miniapp.config.impl; | ||||
import cn.binarywang.wx.miniapp.constant.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import me.chanjar.weixin.common.redis.JedisWxRedisOps; | import me.chanjar.weixin.common.redis.JedisWxRedisOps; | ||||
import me.chanjar.weixin.common.redis.WxRedisOps; | import me.chanjar.weixin.common.redis.WxRedisOps; | ||||
import redis.clients.jedis.JedisPool; | import redis.clients.jedis.JedisPool; | ||||
@@ -1,5 +1,6 @@ | |||||
package cn.binarywang.wx.miniapp.config.impl; | package cn.binarywang.wx.miniapp.config.impl; | ||||
import lombok.RequiredArgsConstructor; | |||||
import redis.clients.jedis.Jedis; | import redis.clients.jedis.Jedis; | ||||
/** | /** | ||||
@@ -9,13 +10,9 @@ import redis.clients.jedis.Jedis; | |||||
* 需要引入依赖<a href="https://github.com/abelaska/jedis-lock">jedis-lock</a>,才能使用该类。 | * 需要引入依赖<a href="https://github.com/abelaska/jedis-lock">jedis-lock</a>,才能使用该类。 | ||||
* </pre> | * </pre> | ||||
*/ | */ | ||||
@RequiredArgsConstructor | |||||
public class WxMaRedisConnectionConfigImpl extends AbstractWxMaRedisConfig { | public class WxMaRedisConnectionConfigImpl extends AbstractWxMaRedisConfig { | ||||
public WxMaRedisConnectionConfigImpl(Jedis jedis) { | |||||
this.jedis = jedis; | |||||
} | |||||
private Jedis jedis; | |||||
private final Jedis jedis; | |||||
@Override | @Override | ||||
protected Jedis getJedis() { | protected Jedis getJedis() { | ||||
@@ -13,7 +13,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; | |||||
import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; | import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; | ||||
import me.chanjar.weixin.mp.bean.result.WxMpUser; | import me.chanjar.weixin.mp.bean.result.WxMpUser; | ||||
import me.chanjar.weixin.mp.config.WxMpConfigStorage; | import me.chanjar.weixin.mp.config.WxMpConfigStorage; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl; | import me.chanjar.weixin.mp.enums.WxMpApiUrl; | ||||
import java.util.Map; | import java.util.Map; | ||||
@@ -26,7 +26,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; | |||||
import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; | import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; | ||||
import me.chanjar.weixin.mp.bean.result.WxMpUser; | import me.chanjar.weixin.mp.bean.result.WxMpUser; | ||||
import me.chanjar.weixin.mp.config.WxMpConfigStorage; | import me.chanjar.weixin.mp.config.WxMpConfigStorage; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl; | import me.chanjar.weixin.mp.enums.WxMpApiUrl; | ||||
import me.chanjar.weixin.mp.util.WxMpConfigStorageHolder; | import me.chanjar.weixin.mp.util.WxMpConfigStorageHolder; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
@@ -13,7 +13,7 @@ import me.chanjar.weixin.common.util.json.WxGsonBuilder; | |||||
import me.chanjar.weixin.mp.api.WxMpCardService; | import me.chanjar.weixin.mp.api.WxMpCardService; | ||||
import me.chanjar.weixin.mp.api.WxMpService; | import me.chanjar.weixin.mp.api.WxMpService; | ||||
import me.chanjar.weixin.mp.bean.card.*; | import me.chanjar.weixin.mp.bean.card.*; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl; | import me.chanjar.weixin.mp.enums.WxMpApiUrl; | ||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | ||||
import org.apache.commons.codec.digest.DigestUtils; | import org.apache.commons.codec.digest.DigestUtils; | ||||
@@ -3,7 +3,7 @@ package me.chanjar.weixin.mp.config; | |||||
import me.chanjar.weixin.common.bean.WxAccessToken; | import me.chanjar.weixin.common.bean.WxAccessToken; | ||||
import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | ||||
import me.chanjar.weixin.mp.bean.WxMpHostConfig; | import me.chanjar.weixin.mp.bean.WxMpHostConfig; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import java.io.File; | import java.io.File; | ||||
import java.util.concurrent.locks.Lock; | import java.util.concurrent.locks.Lock; | ||||
@@ -10,7 +10,7 @@ import me.chanjar.weixin.common.bean.WxAccessToken; | |||||
import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | ||||
import me.chanjar.weixin.mp.config.WxMpConfigStorage; | import me.chanjar.weixin.mp.config.WxMpConfigStorage; | ||||
import me.chanjar.weixin.mp.bean.WxMpHostConfig; | import me.chanjar.weixin.mp.bean.WxMpHostConfig; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | ||||
/** | /** | ||||
@@ -3,7 +3,7 @@ package me.chanjar.weixin.mp.config.impl; | |||||
import lombok.Data; | import lombok.Data; | ||||
import me.chanjar.weixin.common.redis.JedisWxRedisOps; | import me.chanjar.weixin.common.redis.JedisWxRedisOps; | ||||
import me.chanjar.weixin.common.redis.WxRedisOps; | import me.chanjar.weixin.common.redis.WxRedisOps; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import redis.clients.jedis.JedisPool; | import redis.clients.jedis.JedisPool; | ||||
import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||
@@ -1,35 +0,0 @@ | |||||
package me.chanjar.weixin.mp.enums; | |||||
import lombok.Getter; | |||||
/** | |||||
* <pre> | |||||
* ticket类型枚举 | |||||
* Created by Binary Wang on 2018/11/18. | |||||
* </pre> | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
*/ | |||||
@Getter | |||||
public enum TicketType { | |||||
/** | |||||
* jsapi | |||||
*/ | |||||
JSAPI("jsapi"), | |||||
/** | |||||
* sdk | |||||
*/ | |||||
SDK("2"), | |||||
/** | |||||
* 微信卡券 | |||||
*/ | |||||
WX_CARD("wx_card"); | |||||
/** | |||||
* type代码 | |||||
*/ | |||||
private String code; | |||||
TicketType(String code) { | |||||
this.code = code; | |||||
} | |||||
} |
@@ -12,7 +12,7 @@ import me.chanjar.weixin.mp.api.WxMpService; | |||||
import me.chanjar.weixin.mp.api.test.ApiTestModule; | import me.chanjar.weixin.mp.api.test.ApiTestModule; | ||||
import me.chanjar.weixin.mp.api.test.TestConfigStorage; | import me.chanjar.weixin.mp.api.test.TestConfigStorage; | ||||
import me.chanjar.weixin.mp.bean.result.WxMpCurrentAutoReplyInfo; | import me.chanjar.weixin.mp.bean.result.WxMpCurrentAutoReplyInfo; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import static org.testng.Assert.*; | import static org.testng.Assert.*; | ||||
@@ -7,7 +7,7 @@ import me.chanjar.weixin.common.bean.WxAccessToken; | |||||
import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | ||||
import me.chanjar.weixin.mp.bean.WxMpHostConfig; | import me.chanjar.weixin.mp.bean.WxMpHostConfig; | ||||
import me.chanjar.weixin.mp.config.WxMpConfigStorage; | import me.chanjar.weixin.mp.config.WxMpConfigStorage; | ||||
import me.chanjar.weixin.mp.enums.TicketType; | |||||
import me.chanjar.weixin.common.enums.TicketType; | |||||
import me.chanjar.weixin.open.api.WxOpenConfigStorage; | import me.chanjar.weixin.open.api.WxOpenConfigStorage; | ||||
import me.chanjar.weixin.open.bean.WxOpenAuthorizerAccessToken; | import me.chanjar.weixin.open.bean.WxOpenAuthorizerAccessToken; | ||||
import me.chanjar.weixin.open.bean.WxOpenComponentAccessToken; | import me.chanjar.weixin.open.bean.WxOpenComponentAccessToken; | ||||
@@ -78,7 +78,7 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { | |||||
} | } | ||||
return lock; | return lock; | ||||
} | } | ||||
@Override | @Override | ||||
public WxMpConfigStorage getWxMpConfigStorage(String appId) { | public WxMpConfigStorage getWxMpConfigStorage(String appId) { | ||||
return new WxOpenInnerConfigStorage(this, appId); | return new WxOpenInnerConfigStorage(this, appId); | ||||
@@ -4,7 +4,7 @@ import jodd.http.HttpConnectionProvider; | |||||
import jodd.http.HttpRequest; | import jodd.http.HttpRequest; | ||||
import jodd.http.HttpResponse; | import jodd.http.HttpResponse; | ||||
import jodd.http.ProxyInfo; | import jodd.http.ProxyInfo; | ||||
import jodd.util.MimeTypes; | |||||
import jodd.net.MimeTypes; | |||||
import jodd.util.StringPool; | import jodd.util.StringPool; | ||||
import me.chanjar.weixin.common.WxType; | import me.chanjar.weixin.common.WxType; | ||||
import me.chanjar.weixin.common.error.WxError; | import me.chanjar.weixin.common.error.WxError; | ||||