diff --git a/CHANGE.md b/CHANGE.md index 67a19726..79c406a9 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -513,7 +513,6 @@ + weixin4j-base:调整PayUtil#createNativePayRequestURL参数位置:从主到次 - * 2015-12-04 + weixin4j-base:【重要】修改PayUtil中的createPayJsRequest方法的返回值为MchPayRequest,便于二次发起支付。 @@ -534,7 +533,6 @@ + weixin4j-base:调整Pay3Api#refundApply参数个数 - * 2015-12-10 + 添加可选[RedisTokenStorager](weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/RedisTokenStorager.java) @@ -543,7 +541,6 @@ + 【特大注意】weixin4j.properties全部的属性名添加`weixin4j`前缀,并用`.`代替原来的`_` - * 2015-12-15 + weixin4j-[mp|qy]:version upgrade to 1.6.5 @@ -554,17 +551,14 @@ + weixin4j-mp:WeixinProxy.getCustomRecord 参数变更为 Date startTime, Date endTime, Pageable pageable - * 2015-12-19 + weixin4j-base:删除PayUtil类,接口转移到PayApi类 - * 2015-12-21 + weixin4j-server:WeixinMessageHanlder中新增weight接口 - * 2015-12-25 + weixin4j-base:WeixinPayProxy类新增获取支付信息#getWeixinAccount方法 @@ -597,7 +591,6 @@ + weixin4j-server:DigestUtil 重命名为 DigestUtils - * 2015-12-26 + weixin4j-base:MchPayRequest抽象化 @@ -608,8 +601,12 @@ + weixin4j-server:删除无用的工具类并重新整理 - * 2015-12-30 + weixin4j-qy:新增服务商接口(ProviderApi) - \ No newline at end of file + +* 2015-12-31 + + + weixin4j-[mp|qy]:version upgrade to 1.6.6 + + + weixin4j-server:version upgrade to 1.1.5 \ No newline at end of file diff --git a/README.md b/README.md index 517c3ae2..411d4e23 100644 --- a/README.md +++ b/README.md @@ -26,26 +26,26 @@ weixin4j 如何获取 ---------- ###1.maven依赖 -微信公众平台API(1.6.5,2015-12-15 released) +微信公众平台API(1.6.6,2015-12-31 released) com.foxinmy weixin4j-mp - 1.6.5 + 1.6.6 -微信企业号API(1.6.5,2015-12-15 released) +微信企业号API(1.6.6,2015-12-31 released) com.foxinmy weixin4j-qy - 1.6.5 + 1.6.6 -微信回调消息服务器(1.1.4,2015-12-08 released) +微信回调消息服务器(1.1.5,2015-12-31 released) com.foxinmy weixin4j-server - 1.1.4 + 1.1.5 ###2.直接下载jar包 diff --git a/pom.xml b/pom.xml index 4cadc260..d3625866 100644 --- a/pom.xml +++ b/pom.xml @@ -228,6 +228,10 @@ org.apache.maven.plugins maven-javadoc-plugin + + org.apache.maven.plugins + maven-gpg-plugin + diff --git a/weixin4j-base/CHANGE.md b/weixin4j-base/CHANGE.md index 0f2f8f8c..61a673a2 100644 --- a/weixin4j-base/CHANGE.md +++ b/weixin4j-base/CHANGE.md @@ -95,4 +95,18 @@ * 2015-12-19 - + 删除PayUtil类,接口转移到PayApi类 \ No newline at end of file + + 删除PayUtil类,接口转移到PayApi类 + +* 2015-12-25 + + + WeixinPayProxy类新增获取支付信息#getWeixinAccount方法 + + + 新增JSSDK的config生成类 + + + JSSDKHelper 重命名为 JSSDKConfigurator + + + 重构了token类 + +* 2015-12-26 + + + MchPayRequest抽象化 \ No newline at end of file diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/jssdk/JSSDKConfigurator.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/jssdk/JSSDKConfigurator.java index 31654d9d..5feee89c 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/jssdk/JSSDKConfigurator.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/jssdk/JSSDKConfigurator.java @@ -110,8 +110,8 @@ public class JSSDKConfigurator { signMap.put("noncestr", noncestr); signMap.put("jsapi_ticket", this.ticketTokenHolder.getAccessToken()); signMap.put("url", url); - String sign = DigestUtil.SHA1(MapUtil - .toJoinString(signMap, false, false)); + String sign = DigestUtil.SHA1(MapUtil.toJoinString(signMap, false, + false)); if (StringUtil.isBlank(config.getString("appId"))) { config.put("appId", Weixin4jConfigUtil.getWeixinAccount().getId()); } @@ -127,15 +127,4 @@ public class JSSDKConfigurator { config.put("jsApiList", apis.toArray()); return config.toJSONString(); } - - public static void main(String[] args){ - Map signMap = new HashMap(); - signMap.put("timestamp", "1451291129"); - signMap.put("noncestr", "FXlt1mmwNrU30AIGGNrdLcdO"); - signMap.put("jsapi_ticket", "kgt8ON7yVITDhtdwci0qeQdDHdx7JYipird9HNRuaHAIXFpvYh0mz9vuWOjdZb8a3ftvHZKfqcLzrx_pTFOZ3Q"); - signMap.put("url", "http://wx.jdxg.doubimeizhi.com/apprise/share"); - String sign = DigestUtil.SHA1(MapUtil - .toJoinString(signMap, false, false)); - System.err.println(sign); - } } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java index 45e677cb..022f785a 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java @@ -807,5 +807,5 @@ public class WeixinPayProxy { return pay3Api.authCode2openId(authCode); } - public final static String VERSION = "1.6.5"; + public final static String VERSION = "1.6.6"; } diff --git a/weixin4j-mp/CHANGE.md b/weixin4j-mp/CHANGE.md index 97e43f5a..7aeacd45 100644 --- a/weixin4j-mp/CHANGE.md +++ b/weixin4j-mp/CHANGE.md @@ -183,3 +183,19 @@ * 2015-12-18 + 新增个性化菜单接口 + + + WeixinProxy.getCustomRecord 参数变更为 Date startTime, Date endTime, Pageable pageable + +* 2015-12-25 + + + WeixinProxy新增获取appid(getAppId)方法 + + + WeixinProxy新增获取jsticket(getJSTicketHolder)方法 + + + 私有化WeixinProxy(TokenHolder)构造器 + + + 调整WeixinTicketCreator类 + +* 2015-12-31 + + + version upgrade to 1.6.6 \ No newline at end of file diff --git a/weixin4j-mp/README.md b/weixin4j-mp/README.md index 7aac2451..82a51670 100644 --- a/weixin4j-mp/README.md +++ b/weixin4j-mp/README.md @@ -35,12 +35,12 @@ weixin4j-mp 如何使用 -------- -0.maven依赖(1.6.5,2015-12-15 released) +0.maven依赖(1.6.6,2015-12-31 released) com.foxinmy weixin4j-mp - 1.6.5 + 1.6.6 1.需新增或拷贝`weixin4j.properties`文件到项目的`classpath`中 diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java index 5dd06c25..8d8a2c14 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java @@ -1436,5 +1436,5 @@ public class WeixinProxy { return dataApi.datacube(datacubeType, date); } - public final static String VERSION = "1.6.5"; + public final static String VERSION = "1.6.6"; } diff --git a/weixin4j-qy/CHANGE.md b/weixin4j-qy/CHANGE.md index cdbb7ec2..5f512949 100644 --- a/weixin4j-qy/CHANGE.md +++ b/weixin4j-qy/CHANGE.md @@ -142,3 +142,25 @@ * 2015-12-15 + version upgrade to 1.6.5 + +* 2015-12-25 + + + WeixinProxy新增获取corpid(getCorpId)方法 + + + WeixinProxy新增获取jsticket(getJSTicketHolder)方法 + + + 私有化WeixinProxy(TokenHolder)构造器 + + + SuiteApi新增获取Weixinproxy对象(getWeixinProxy)方法 + + + 删除WeixinJSTicketCreator类 + + + 新增企业号联系人筛选配置类(JSSDKContactConfigurator) + +* 2015-12-30 + + + 新增服务商接口(ProviderApi) + +* 2015-12-31 + + + version upgrade to 1.6.6 diff --git a/weixin4j-qy/README.md b/weixin4j-qy/README.md index 927c5e64..1f9163bc 100644 --- a/weixin4j-qy/README.md +++ b/weixin4j-qy/README.md @@ -36,12 +36,12 @@ weixin4j-qy 如何使用 -------- -0.maven依赖(1.6.5,2015-12-15 released) +0.maven依赖(1.6.6,2015-12-31 released) com.foxinmy weixin4j-qy - 1.6.5 + 1.6.6 1.需新增或拷贝`weixin4j.properties`文件到项目的`classpath`中 diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java index 6952ac31..b8081a7b 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java @@ -1303,5 +1303,5 @@ public class WeixinProxy { return chatApi.sendChatMessage(message); } - public final static String VERSION = "1.6.5"; + public final static String VERSION = "1.6.6"; } diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinSuiteProxy.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinSuiteProxy.java index 204f1568..415867e4 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinSuiteProxy.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/WeixinSuiteProxy.java @@ -160,5 +160,5 @@ public class WeixinSuiteProxy { return providerApi.getLoingUrl(corpId, targetType, agentId); } - public final static String VERSION = "1.6.5"; + public final static String VERSION = "1.6.6"; } diff --git a/weixin4j-server/CHANGE.md b/weixin4j-server/CHANGE.md index 1600b5c8..3a8e5fd4 100644 --- a/weixin4j-server/CHANGE.md +++ b/weixin4j-server/CHANGE.md @@ -114,4 +114,20 @@ * 2015-12-21 - + WeixinMessageHanlder中新增weight接口 \ No newline at end of file + + WeixinMessageHanlder中新增weight接口 + +* 2015-12-25 + + + DigestUtil 重命名为 DigestUtils + +* 2015-12-26 + + + WeixinMessageInterceptor加入weight权重接口 + + + 移入weixin4j下模块化 + + + 删除无用的工具类并重新整理 + +* 2015-12-31 + + + version upgrade to 1.1.5 \ No newline at end of file diff --git a/weixin4j-server/README.md b/weixin4j-server/README.md index dcc934dc..ba28f112 100644 --- a/weixin4j-server/README.md +++ b/weixin4j-server/README.md @@ -15,12 +15,12 @@ base on netty. 如何使用 ------- -###maven依赖(1.1.4,2015-12-10 released) +###maven依赖(1.1.5,2015-12-31 released) com.foxinmy weixin4j-server - 1.1.4 + 1.1.5 ###编写服务启动类 明文模式并总是调试输出微信请求信息的服务启动类. diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java index 7796e911..0d7e0e5e 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java @@ -86,7 +86,7 @@ public class WeixinMessageDispatcher { /** * 消息转换 */ - private Map, Unmarshaller> messageUnmarshaller; + private ThreadLocal, Unmarshaller>> messageUnmarshaller; /** * 是否总是响应请求,如未匹配到MessageHandler时回复空白消息 */ @@ -98,7 +98,12 @@ public class WeixinMessageDispatcher { public WeixinMessageDispatcher(WeixinMessageMatcher messageMatcher) { this.messageMatcher = messageMatcher; - this.messageUnmarshaller = new HashMap, Unmarshaller>(); + this.messageUnmarshaller = new ThreadLocal, Unmarshaller>>() { + @Override + protected Map, Unmarshaller> initialValue() { + return new HashMap, Unmarshaller>(); + } + }; } /** @@ -373,12 +378,12 @@ public class WeixinMessageDispatcher { */ protected Unmarshaller getUnmarshaller(Class clazz) throws WeixinException { - Unmarshaller unmarshaller = messageUnmarshaller.get(clazz); + Unmarshaller unmarshaller = messageUnmarshaller.get().get(clazz); if (unmarshaller == null) { try { JAXBContext jaxbContext = JAXBContext.newInstance(clazz); unmarshaller = jaxbContext.createUnmarshaller(); - messageUnmarshaller.put(clazz, unmarshaller); + messageUnmarshaller.get().put(clazz, unmarshaller); } catch (JAXBException e) { throw new WeixinException(e); } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java index 61780d7b..8e0f040e 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java @@ -315,5 +315,5 @@ public final class WeixinServerBootstrap { return this; } - public final static String VERSION = "1.1.4"; + public final static String VERSION = "1.1.5"; } \ No newline at end of file