diff --git a/README.md b/README.md index a6da896d..e472978e 100644 --- a/README.md +++ b/README.md @@ -26,11 +26,31 @@ weixin4j 2.API的成功调用依赖于正确的appid等数据,其填写格式在每个项目下的README.md文件中都有说明. -3.在`weixin-4j`根目录执行`mvn package`命令得到jar包后,将`weixin4j-*-api-full`包或者`weixin4j-base`跟`weixin4j-*-api`引入到自己的工程. +3.在`weixin-4j`根目录执行`mvn package`命令得到jar包后,将`weixin4j-*-full`包或者`weixin4j-base`和`weixin4j-*-api`引入到自己的工程. 4.如需使用netty服务,则可以在相应的action中实现自己的业务处理,打包后放到`正确的目录`下解压`weixin-*-server-bin.zip`执行`sh startup.sh start`便可启动服务. - +Maven +----- +微信公众平台API + + + com.foxinmy + weixin4j-qy-api + 1.0 + +微信企业号API + + + com.foxinmy + weixin4j-qy-api + 1.0 + + +直接下载 + +https://github.com/foxinmy/weixin4j/releases/tag/1.0 + 更新LOG ------- * 2014-10-27 diff --git a/pom.xml b/pom.xml index d66aaf5a..732aedee 100644 --- a/pom.xml +++ b/pom.xml @@ -2,9 +2,9 @@ 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j - ${weixin4j.version} + 1.0 pom weixin4j https://github.com/foxinmy/weixin4j @@ -16,6 +16,11 @@ https://github.com/foxinmy/weixin4j/blob/master/LICENSE + + https://github.com/foxinmy/weixin4j + scm:git:git://github.com/foxinmy/weixin4j.git + scm:git:git@github.com:foxinmy/weixin4j.git + hujinyuhao@163.com @@ -34,10 +39,10 @@ weixin4j-qy - 1.0 1.0 1.0 1.0 + 1.7 4.8.2 1.6.1 1.0.9 @@ -61,42 +66,17 @@ 2.5 2.5.1 2.10.1 + 1.5 - - org.apache.maven.plugins - maven-source-plugin - ${maven.source.plugin.version} - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven.javadoc.plugin.version} - - - attach-javadocs - - jar - - - - org.apache.maven.plugins maven-compiler-plugin ${maven.compiler.plugin.version} - 1.7 - 1.7 + ${jdk.version} + ${jdk.version} @@ -154,6 +134,32 @@ + + org.apache.maven.plugins + maven-source-plugin + ${maven.source.plugin.version} + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven.javadoc.plugin.version} + + + attach-javadocs + + jar + + + + @@ -185,7 +191,7 @@ - default + dev true @@ -193,5 +199,46 @@ true + + release + + + + org.apache.maven.plugins + maven-source-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven.gpg.plugin.version} + + + verify + + sign + + + + + + + + true + + + + + oss + https://oss.sonatype.org/content/repositories/snapshots/ + + + oss + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + \ No newline at end of file diff --git a/weixin4j-base/pom.xml b/weixin4j-base/pom.xml index 602483de..08e437af 100644 --- a/weixin4j-base/pom.xml +++ b/weixin4j-base/pom.xml @@ -4,9 +4,9 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j - ${weixin4j.version} + 1.0 weixin4j-base ${weixin4j.base.version} diff --git a/weixin4j-mp/README.md b/weixin4j-mp/README.md index d7993504..ff76c895 100644 --- a/weixin4j-mp/README.md +++ b/weixin4j-mp/README.md @@ -66,7 +66,7 @@ weixin4j-mp bill_path=/tmp/weixin/bill ca_file=/tmp/weixin/xxxxx.p12 | xxxx.pfx -3.在项目根目录下执行`mvn package`命令后得到jar包,将`weixin4j-qy-api-full`包或者`weixin4j-base`跟`weixin4j-mp-api`两个包引入到自己的工程内. +3.在项目根目录下执行`mvn package`命令后得到jar包,将`weixin4j-mp-full`包或者`weixin4j-base`和`weixin4j-mp-api`两个包引入到自己的工程. WeixinProxy weixinProxy = new WeixinProxy(); // weixinProxy = new WeixinProxy(appid,appsecret); diff --git a/weixin4j-mp/pom.xml b/weixin4j-mp/pom.xml index 383bd861..17ab24e2 100644 --- a/weixin4j-mp/pom.xml +++ b/weixin4j-mp/pom.xml @@ -4,9 +4,9 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j - ${weixin4j.version} + 1.0 weixin4j-mp ${weixin4j.mp.version} @@ -20,7 +20,7 @@ - com.foxinmy.weixin4j + com.foxinmy weixin4j-base ${weixin4j.base.version} diff --git a/weixin4j-mp/weixin4j-mp-api/pom.xml b/weixin4j-mp/weixin4j-mp-api/pom.xml index 92143a1d..2a4bb435 100644 --- a/weixin4j-mp/weixin4j-mp-api/pom.xml +++ b/weixin4j-mp/weixin4j-mp-api/pom.xml @@ -4,7 +4,7 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j-mp ${weixin4j.mp.version} @@ -18,7 +18,7 @@ org.apache.maven.plugins maven-assembly-plugin - ${project.name} + weixin4j-mp diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/PayUtil.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/PayUtil.java index ab4b80ec..c7ba5041 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/PayUtil.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/PayUtil.java @@ -7,7 +7,6 @@ import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.StringUtils; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.foxinmy.weixin4j.exception.PayException; import com.foxinmy.weixin4j.exception.WeixinException; @@ -104,10 +103,10 @@ public class PayUtil { } /** - * V2.x版本的PayRequest签名 + * sha签名(一般用于V2.x支付接口) * - * @param jsPayRequestV2 - * 支付请求 + * @param obj + * 签名对象 * @param paySignKey * 支付API的密钥 * @return @@ -123,10 +122,10 @@ public class PayUtil { } /** - * V3.x版本的PayRequest签名 + * md5签名(一般用于V3.x支付接口) * - * @param jsPayRequestV3 - * 支付请求 + * @param obj + * 签名对象 * @param paySignKey * 支付API的密钥 * @return @@ -192,12 +191,22 @@ public class PayUtil { return JSON.toJSONString(jsPayRequest); } + /** + * 创建预支付对象 + * + * @param payPackage + * 包含订单信息的对象 + * @see com.foxinmy.weixin4j.mp.payment.v3.PayPackageV3 + * @see com.foxinmy.weixin4j.mp.payment.v3.PrePay + * @return 预支付对象 + */ public static PrePay createPrePay(PayPackageV3 payPackage) { PrePay prePay = null; String payJsRequestXml = XStream.to(payPackage).replaceAll("__", "_"); HttpRequest request = new HttpRequest(); try { - Response response = request.post(Consts.UNIFIEDORDER, payJsRequestXml); + Response response = request.post(Consts.UNIFIEDORDER, + payJsRequestXml); prePay = response.getAsObject(new TypeReference() { }); } catch (WeixinException e) { @@ -211,16 +220,11 @@ public class PayUtil { * 生成编辑地址请求 *

* - * err_msg edit_address:ok获取编辑收货地址成功
- * edit_address:fail获取编辑收货地址失败
- * userName 收货人姓名
- * telNumber 收货人电话
- * addressPostalCode 邮编
- * proviceFirstStageName 国标收货地址第一级地址
- * addressCitySecondStageName 国标收货地址第二级地址
- * addressCountiesThirdStageName 国标收货地址第三级地址
- * addressDetailInfo 详细收货地址信息
- * nationalCode 收货地址国家码
+ * err_msg edit_address:ok获取编辑收货地址成功
edit_address:fail获取编辑收货地址失败
+ * userName 收货人姓名
telNumber 收货人电话
addressPostalCode 邮编
+ * proviceFirstStageName 国标收货地址第一级地址
addressCitySecondStageName + * 国标收货地址第二级地址
addressCountiesThirdStageName 国标收货地址第三级地址
+ * addressDetailInfo 详细收货地址信息
nationalCode 收货地址国家码
* * @param appId * 公众号的ID @@ -232,22 +236,20 @@ public class PayUtil { */ public static String createAddressRequestJson(String appId, String url, String accessToken) { - Map param = new HashMap(); - param.put("appId", appId); - param.put("url", url); - param.put("timeStamp", DateUtil.timestamp2string()); - param.put("nonceStr", RandomUtil.generateString(16)); - param.put("accessToken", accessToken); - String sign = paysignSha(param, null); - JSONObject obj = new JSONObject(); + Map obj = new HashMap(); obj.put("appId", appId); + obj.put("timeStamp", DateUtil.timestamp2string()); + obj.put("nonceStr", RandomUtil.generateString(16)); + obj.put("url", url); + obj.put("accessToken", accessToken); + String sign = paysignSha(obj, null); + obj.remove("url"); + obj.remove("accessToken"); obj.put("scope", "jsapi_address"); obj.put("signType", SignType.SHA1.name().toLowerCase()); obj.put("addrSign", sign); - obj.put("timeStamp", param.get("timeStamp")); - obj.put("nonceStr", param.get("nonceStr")); - return obj.toJSONString(); + return JSON.toJSONString(obj); } /** @@ -297,8 +299,8 @@ public class PayUtil { weixinAccount.getMchId(), productId, timestamp, noncestr); } - public static String createNativePayRequestV2(WeixinMpAccount weixinAccount, - PayPackageV2 payPackage) { + public static String createNativePayRequestV2( + WeixinMpAccount weixinAccount, PayPackageV2 payPackage) { NativePayResponseV2 payRequest = new NativePayResponseV2(weixinAccount, payPackage); Map map = new HashMap(); diff --git a/weixin4j-mp/weixin4j-mp-server/pom.xml b/weixin4j-mp/weixin4j-mp-server/pom.xml index bfb36bb0..ee607309 100644 --- a/weixin4j-mp/weixin4j-mp-server/pom.xml +++ b/weixin4j-mp/weixin4j-mp-server/pom.xml @@ -4,7 +4,7 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j-mp ${weixin4j.mp.version} @@ -21,6 +21,13 @@ weixin-mp-server + + org.apache.maven.plugins + maven-deploy-plugin + + true + + @@ -30,7 +37,7 @@ ${netty.version} - com.foxinmy.weixin4j + com.foxinmy weixin4j-mp-api ${weixin4j.mp.version} diff --git a/weixin4j-qy/README.md b/weixin4j-qy/README.md index 8f3a4b51..b37856ed 100644 --- a/weixin4j-qy/README.md +++ b/weixin4j-qy/README.md @@ -47,7 +47,7 @@ weixin4j-qy token_path=/tmp/weixin/token media_path=/tmp/weixin/media -3.在项目根目录执行`mvn package`命令后得到jar包,将`weixin4j-qy-api-full`包或者`weixin4j-base`跟`weixin4j-qy-api`两个包引入到自己的工程内. +3.在项目根目录执行`mvn package`命令后得到jar包,将`weixin4j-qy-full`包或者`weixin4j-base`跟`weixin4j-qy-api`两个包引入到自己的工程内. WeixinProxy weixinProxy = new WeixinProxy(); // weixinProxy = new WeixinProxy(corpid,corpsecret); diff --git a/weixin4j-qy/pom.xml b/weixin4j-qy/pom.xml index b085ea1d..cb8811ab 100644 --- a/weixin4j-qy/pom.xml +++ b/weixin4j-qy/pom.xml @@ -4,9 +4,9 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j - ${weixin4j.version} + 1.0 weixin4j-qy ${weixin4j.qy.version} @@ -20,7 +20,7 @@ - com.foxinmy.weixin4j + com.foxinmy weixin4j-base ${weixin4j.base.version} diff --git a/weixin4j-qy/weixin4j-qy-api/pom.xml b/weixin4j-qy/weixin4j-qy-api/pom.xml index eec8dd9d..48a1354b 100644 --- a/weixin4j-qy/weixin4j-qy-api/pom.xml +++ b/weixin4j-qy/weixin4j-qy-api/pom.xml @@ -4,7 +4,7 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j-qy ${weixin4j.qy.version} @@ -18,7 +18,7 @@ org.apache.maven.plugins maven-assembly-plugin - ${project.name} + weixin4j-qy diff --git a/weixin4j-qy/weixin4j-qy-server/pom.xml b/weixin4j-qy/weixin4j-qy-server/pom.xml index d43d7de8..91c6785e 100644 --- a/weixin4j-qy/weixin4j-qy-server/pom.xml +++ b/weixin4j-qy/weixin4j-qy-server/pom.xml @@ -4,7 +4,7 @@ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - com.foxinmy.weixin4j + com.foxinmy weixin4j-qy ${weixin4j.qy.version} @@ -21,6 +21,13 @@ weixin-qy-server + + org.apache.maven.plugins + maven-deploy-plugin + + true + + @@ -30,7 +37,7 @@ ${netty.version} - com.foxinmy.weixin4j + com.foxinmy weixin4j-qy-api ${weixin4j.qy.version}