From ac2b677026eee824872cdc234d2a7e94164e924f Mon Sep 17 00:00:00 2001 From: jinyu Date: Tue, 19 Jan 2016 13:41:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E7=BC=96=E8=BE=91=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E8=AF=B7=E6=B1=82JSON=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/foxinmy/weixin4j/api/Pay3Api.java | 38 +++++++++++++++ .../weixin4j/payment/PayURLConsts.java | 47 ------------------- .../weixin4j/payment/WeixinPayProxy.java | 24 ++++++++++ 3 files changed, 62 insertions(+), 47 deletions(-) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java index 19a198e8..b5d3988b 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java @@ -43,9 +43,11 @@ import com.foxinmy.weixin4j.type.BillType; import com.foxinmy.weixin4j.type.CurrencyType; import com.foxinmy.weixin4j.type.IdQuery; import com.foxinmy.weixin4j.type.IdType; +import com.foxinmy.weixin4j.type.SignType; import com.foxinmy.weixin4j.type.TradeType; import com.foxinmy.weixin4j.util.DateUtil; import com.foxinmy.weixin4j.util.DigestUtil; +import com.foxinmy.weixin4j.util.MapUtil; import com.foxinmy.weixin4j.util.RandomUtil; import com.foxinmy.weixin4j.util.StringUtil; import com.foxinmy.weixin4j.util.Weixin4jConfigUtil; @@ -227,6 +229,42 @@ public class Pay3Api { return createPayRequest(payPackage); } + /** + *

+ * 生成编辑地址请求 + *

+ * + * err_msg edit_address:ok获取编辑收货地址成功
edit_address:fail获取编辑收货地址失败
+ * userName 收货人姓名
telNumber 收货人电话
addressPostalCode 邮编
+ * proviceFirstStageName 国标收货地址第一级地址
addressCitySecondStageName + * 国标收货地址第二级地址
addressCountiesThirdStageName 国标收货地址第三级地址
+ * addressDetailInfo 详细收货地址信息
nationalCode 收货地址国家码
+ * + * @param url + * 当前访问页的URL + * @param oauthToken + * oauth授权时产生的token + * @see 收货地址共享 + * @return 编辑地址请求JSON串 + */ + public String createAddressRequestJSON(String url, String oauthToken) { + Map map = new HashMap(); + map.put("appId", weixinAccount.getId()); + map.put("timeStamp", DateUtil.timestamp2string()); + map.put("nonceStr", RandomUtil.generateString(16)); + map.put("url", url); + map.put("accessToken", oauthToken); + String sign = DigestUtil.SHA1(MapUtil.toJoinString(map, false, true, + null)); + map.remove("url"); + map.remove("accessToken"); + map.put("scope", "jsapi_address"); + map.put("signType", SignType.SHA1.name().toLowerCase()); + map.put("addrSign", sign); + return JSON.toJSONString(map); + } + /** * 创建Native支付(扫码支付)链接【模式一】 * diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/PayURLConsts.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/PayURLConsts.java index 401b2038..c1814bae 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/PayURLConsts.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/PayURLConsts.java @@ -1,14 +1,5 @@ package com.foxinmy.weixin4j.payment; -import java.util.HashMap; -import java.util.Map; - -import com.alibaba.fastjson.JSON; -import com.foxinmy.weixin4j.type.SignType; -import com.foxinmy.weixin4j.util.DateUtil; -import com.foxinmy.weixin4j.util.DigestUtil; -import com.foxinmy.weixin4j.util.MapUtil; -import com.foxinmy.weixin4j.util.RandomUtil; /** * 支付URL常量类 @@ -130,42 +121,4 @@ public final class PayURLConsts { */ public static final String MCH_AUTHCODE_OPENID_URL = MCH_BASE_URL + "/tools/authcodetoopenid"; - - /** - *

- * 生成编辑地址请求 - *

- * - * err_msg edit_address:ok获取编辑收货地址成功
edit_address:fail获取编辑收货地址失败
- * userName 收货人姓名
telNumber 收货人电话
addressPostalCode 邮编
- * proviceFirstStageName 国标收货地址第一级地址
addressCitySecondStageName - * 国标收货地址第二级地址
addressCountiesThirdStageName 国标收货地址第三级地址
- * addressDetailInfo 详细收货地址信息
nationalCode 收货地址国家码
- * - * @param appId - * 公众号的ID - * @param url - * 当前访问页的URL - * @param accessToken - * snsapi_base授权时产生的token - * @return - */ - public static String createAddressRequestJson(String appId, String url, - String accessToken) { - Map map = new HashMap(); - map.put("appId", appId); - map.put("timeStamp", DateUtil.timestamp2string()); - map.put("nonceStr", RandomUtil.generateString(16)); - map.put("url", url); - map.put("accessToken", accessToken); - String sign = DigestUtil.SHA1(MapUtil.toJoinString(map, false, true, - null)); - map.remove("url"); - map.remove("accessToken"); - map.put("scope", "jsapi_address"); - map.put("signType", SignType.SHA1.name().toLowerCase()); - map.put("addrSign", sign); - - return JSON.toJSONString(map); - } } 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 1f8dff95..cf9e04d8 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 @@ -198,6 +198,30 @@ public class WeixinPayProxy { notifyUrl, createIp); } + /** + *

+ * 生成编辑地址请求 + *

+ * + * err_msg edit_address:ok获取编辑收货地址成功
edit_address:fail获取编辑收货地址失败
+ * userName 收货人姓名
telNumber 收货人电话
addressPostalCode 邮编
+ * proviceFirstStageName 国标收货地址第一级地址
addressCitySecondStageName + * 国标收货地址第二级地址
addressCountiesThirdStageName 国标收货地址第三级地址
+ * addressDetailInfo 详细收货地址信息
nationalCode 收货地址国家码
+ * + * @param url + * 当前访问页的URL + * @param oauthToken + * oauth授权时产生的token + * @see com.foxinmy.weixin4j.api.Pay3Api + * @see 收货地址共享 + * @return 编辑地址请求JSON串 + */ + public String createAddressRequestJSON(String url, String oauthToken) { + return pay3Api.createAddressRequestJSON(url, oauthToken); + } + /** * 创建Native支付(扫码支付)链接【模式一】 *