From 198cc0ce3358ff6d66c6bcaaa07a7c7f5ad49434 Mon Sep 17 00:00:00 2001 From: zzs Date: Mon, 20 Feb 2017 19:02:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=A3=B0=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../in/egan/pay/ali/api/AliPayService.java | 60 ++++--------------- .../ali/util/SimpleGetRequestExecutor.java | 1 + .../egan/pay/common/api/BasePayService.java | 28 ++++----- .../egan/pay/common/api/PayConfigStorage.java | 1 + .../in/egan/pay/common/api/PayConsts.java | 1 + .../common/api/PayErrorExceptionHandler.java | 1 + .../pay/common/api/PayMessageHandler.java | 1 + .../pay/common/api/PayMessageInterceptor.java | 2 +- .../egan/pay/common/api/PayMessageRouter.java | 1 + .../pay/common/api/PayMessageRouterRule.java | 1 + .../in/egan/pay/common/api/PayService.java | 1 + .../egan/pay/common/api/RequestExecutor.java | 1 + .../in/egan/pay/common/bean/BasePayType.java | 2 +- .../in/egan/pay/common/bean/PayMessage.java | 1 + .../egan/pay/common/bean/PayOutMessage.java | 1 + .../common/bean/outbuilder/BaseBuilder.java | 2 +- .../common/bean/outbuilder/JsonBuilder.java | 16 ----- .../common/bean/outbuilder/TextBuilder.java | 1 + .../common/bean/outbuilder/XmlBuilder.java | 1 + .../egan/pay/common/bean/result/PayError.java | 1 + .../common/exception/PayErrorException.java | 1 + .../pay/common/util/LogExceptionHandler.java | 1 + .../util/http/SimpleGetRequestExecutor.java | 1 + .../util/http/SimplePostRequestExecutor.java | 2 + .../common/util/http/Utf8ResponseHandler.java | 2 + .../egan/pay/common/util/sign/SignUtils.java | 40 +++++-------- .../wx/youdian/api/WxYouDianPayService.java | 2 +- 27 files changed, 64 insertions(+), 109 deletions(-) diff --git a/pay-java-ali/src/main/java/in/egan/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/in/egan/pay/ali/api/AliPayService.java index 2ecb716e..44d758ef 100644 --- a/pay-java-ali/src/main/java/in/egan/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/in/egan/pay/ali/api/AliPayService.java @@ -2,6 +2,7 @@ import in.egan.pay.ali.bean.AliTransactionType; import in.egan.pay.ali.util.SimpleGetRequestExecutor; +import in.egan.pay.common.api.BasePayService; import in.egan.pay.common.api.PayConfigStorage; import in.egan.pay.common.api.PayService; import in.egan.pay.common.api.RequestExecutor; @@ -39,18 +40,9 @@ * @email egzosn@gmail.com * @date 2016-5-18 14:09:01 */ -public class AliPayService implements PayService { +public class AliPayService extends BasePayService { protected final Log log = LogFactory.getLog(AliPayService.class); - protected PayConfigStorage payConfigStorage; - - protected CloseableHttpClient httpClient; - - protected HttpHost httpProxy; - - private int retrySleepMillis = 1000; - - private int maxRetryTimes = 5; private String httpsReqUrl = "https://mapi.alipay.com/gateway.do"; @@ -104,6 +96,7 @@ public String verifyUrl(String notify_id) throws PayErrorException { * @param data * @return * @throws PayErrorException + * @source chanjarster/weixin-java-tools */ @Override public T execute(RequestExecutor executor, String uri, E data) throws PayErrorException { @@ -365,7 +358,16 @@ public BufferedImage genQrPay(Map orderInfo) { throw new UnsupportedOperationException(); } - + /** + * + * @param executor + * @param uri + * @param data + * @param + * @param + * @return + * @throws PayErrorException + */ protected T executeInternal(RequestExecutor executor, String uri, E data) throws PayErrorException { try { @@ -375,43 +377,7 @@ protected T executeInternal(RequestExecutor executor, String uri, E } } - public HttpHost getHttpProxy() { - return httpProxy; - } - public CloseableHttpClient getHttpClient() { - return httpClient; - } - - public void setPayConfigStorage(PayConfigStorage payConfigStorage) { - this.payConfigStorage = payConfigStorage; - - String http_proxy_host = payConfigStorage.getHttpProxyHost(); - int http_proxy_port = payConfigStorage.getHttpProxyPort(); - String http_proxy_username = payConfigStorage.getHttpProxyUsername(); - String http_proxy_password = payConfigStorage.getHttpProxyPassword(); - - if (StringUtils.isNotBlank(http_proxy_host)) { - // 使用代理服务器 - if (StringUtils.isNotBlank(http_proxy_username)) { - // 需要用户认证的代理服务器 - CredentialsProvider credsProvider = new BasicCredentialsProvider(); - credsProvider.setCredentials( - new AuthScope(http_proxy_host, http_proxy_port), - new UsernamePasswordCredentials(http_proxy_username, http_proxy_password)); - httpClient = HttpClients - .custom() - .setDefaultCredentialsProvider(credsProvider) - .build(); - } else { - // 无需用户认证的代理服务器 - httpClient = HttpClients.createDefault(); - } - httpProxy = new HttpHost(http_proxy_host, http_proxy_port); - } else { - httpClient = HttpClients.createDefault(); - } - } @Override public PayConfigStorage getPayConfigStorage() { diff --git a/pay-java-ali/src/main/java/in/egan/pay/ali/util/SimpleGetRequestExecutor.java b/pay-java-ali/src/main/java/in/egan/pay/ali/util/SimpleGetRequestExecutor.java index fdca0bd8..990f0550 100644 --- a/pay-java-ali/src/main/java/in/egan/pay/ali/util/SimpleGetRequestExecutor.java +++ b/pay-java-ali/src/main/java/in/egan/pay/ali/util/SimpleGetRequestExecutor.java @@ -21,6 +21,7 @@ /** * 简单的GET请求执行器,请求的参数是String, 返回的结果也是String * @author Daniel Qian + * @source chanjarster/weixin-java-tools * */ public class SimpleGetRequestExecutor implements RequestExecutor { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/BasePayService.java b/pay-java-common/src/main/java/in/egan/pay/common/api/BasePayService.java index 789055d0..56f53bf4 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/BasePayService.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/BasePayService.java @@ -1,20 +1,3 @@ -/* - * Copyright 2002-2017 the original huodull or egan. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - package in.egan.pay.common.api; import in.egan.pay.common.exception.PayErrorException; @@ -33,6 +16,7 @@ * @author: egan * @email egzosn@gmail.com * @date 2017/1/12 20:09 + * @source chanjarster/weixin-java-tools */ public abstract class BasePayService implements PayService { @@ -46,6 +30,16 @@ public abstract class BasePayService implements PayService { protected int maxRetryTimes = 5; + /** + * + * @param executor + * @param uri + * @param data + * @param + * @param + * @return + * @throws PayErrorException + */ protected T executeInternal(RequestExecutor executor, String uri, E data) throws PayErrorException { try { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayConfigStorage.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayConfigStorage.java index e063932e..71aed52e 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayConfigStorage.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayConfigStorage.java @@ -9,6 +9,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-5-18 14:09:01 + * @source chanjarster/weixin-java-tools */ public interface PayConfigStorage { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayConsts.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayConsts.java index 5ab194a6..ff0d55cf 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayConsts.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayConsts.java @@ -2,6 +2,7 @@ /** * 支付宝支付通知 + * @source chanjarster/weixin-java-tools * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:45:31 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayErrorExceptionHandler.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayErrorExceptionHandler.java index cfdea4ad..7c517d98 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayErrorExceptionHandler.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayErrorExceptionHandler.java @@ -7,6 +7,7 @@ /** * PayErrorExceptionHandler处理器 + * * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:33:01 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageHandler.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageHandler.java index f2cd88a1..cba2092a 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageHandler.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageHandler.java @@ -8,6 +8,7 @@ /** * 处理支付回调消息的处理器接口 + * @source Daniel Qian * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:40:30 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageInterceptor.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageInterceptor.java index a6319f62..625f4401 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageInterceptor.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageInterceptor.java @@ -8,7 +8,7 @@ /** * 支付消息拦截器,可以用来做验证 - * + * @author Daniel Qian */ public interface PayMessageInterceptor { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouter.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouter.java index 86c0a1db..f15d3cb0 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouter.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouter.java @@ -38,6 +38,7 @@ * router.route(message); * * + * @source chanjarster/weixin-java-tools * @source Daniel Qian * @author egan * diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouterRule.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouterRule.java index a313a1d7..cb31b04b 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouterRule.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayMessageRouterRule.java @@ -17,6 +17,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:28:01 + * @source chanjarster/weixin-java-tools */ public class PayMessageRouterRule { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/PayService.java b/pay-java-common/src/main/java/in/egan/pay/common/api/PayService.java index 82b16f99..d3f142bc 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/PayService.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/PayService.java @@ -69,6 +69,7 @@ public interface PayService { * @param 请求数据类型 * @return * @throws PayErrorException + * @source */ T execute(RequestExecutor executor, String uri, E data) throws PayErrorException; diff --git a/pay-java-common/src/main/java/in/egan/pay/common/api/RequestExecutor.java b/pay-java-common/src/main/java/in/egan/pay/common/api/RequestExecutor.java index 4b693fcf..b76422ba 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/api/RequestExecutor.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/api/RequestExecutor.java @@ -13,6 +13,7 @@ * * @param 返回值类型 * @param 请求参数类型 + * @source chanjarster/weixin-java-tools */ public interface RequestExecutor { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/BasePayType.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/BasePayType.java index f3216aef..ce4eef86 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/BasePayType.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/BasePayType.java @@ -14,6 +14,6 @@ public interface BasePayType { * @param transactionType 类型值 * @return */ - public abstract TransactionType getTransactionType(String transactionType); + TransactionType getTransactionType(String transactionType); } diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/PayMessage.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/PayMessage.java index 9117ba0e..e8182990 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/PayMessage.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/PayMessage.java @@ -14,6 +14,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-6-1 14:2:3 + * @source chanjarster/weixin-java-tools */ public class PayMessage implements Serializable { private Map payMessage = null; diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/PayOutMessage.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/PayOutMessage.java index 33ca87f4..71b567e1 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/PayOutMessage.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/PayOutMessage.java @@ -12,6 +12,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:40:30 + * @source chanjarster/weixin-java-tools */ public abstract class PayOutMessage implements Serializable { protected String content; diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/BaseBuilder.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/BaseBuilder.java index de94b700..f676df01 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/BaseBuilder.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/BaseBuilder.java @@ -3,7 +3,7 @@ import in.egan.pay.common.bean.PayOutMessage; /** - * + * @source chanjarster/weixin-java-tools * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:40:30 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/JsonBuilder.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/JsonBuilder.java index a51ba05f..d11d1d91 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/JsonBuilder.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/JsonBuilder.java @@ -1,19 +1,3 @@ -/* - * Copyright 2002-2017 the original huodull or egan. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package in.egan.pay.common.bean.outbuilder; diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/TextBuilder.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/TextBuilder.java index bdb35e3a..ad78579b 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/TextBuilder.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/TextBuilder.java @@ -3,6 +3,7 @@ import in.egan.pay.common.bean.PayOutMessage; /** + * @source chanjarster/weixin-java-tools * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:40:30 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/XmlBuilder.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/XmlBuilder.java index 6652ccc3..0dc6b17b 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/XmlBuilder.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/outbuilder/XmlBuilder.java @@ -2,6 +2,7 @@ import in.egan.pay.common.bean.PayOutMessage; /** + * @source chanjarster/weixin-java-tools * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:40:30 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/bean/result/PayError.java b/pay-java-common/src/main/java/in/egan/pay/common/bean/result/PayError.java index 6a881a12..23c2a40f 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/bean/result/PayError.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/bean/result/PayError.java @@ -12,6 +12,7 @@ * @author Daniel Qian * @dete 2017/1/12 9:57 * @author: egan + * @source chanjarster/weixin-java-tools */ public class PayError implements Serializable { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/exception/PayErrorException.java b/pay-java-common/src/main/java/in/egan/pay/common/exception/PayErrorException.java index f8e388c5..96a132c3 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/exception/PayErrorException.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/exception/PayErrorException.java @@ -6,6 +6,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-5-18 14:09:01 + * @source chanjarster/weixin-java-tools */ public class PayErrorException extends Exception { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/util/LogExceptionHandler.java b/pay-java-common/src/main/java/in/egan/pay/common/util/LogExceptionHandler.java index 7b944991..09786113 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/util/LogExceptionHandler.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/util/LogExceptionHandler.java @@ -12,6 +12,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-6-1 11:28:01 + * @source chanjarster/weixin-java-tools */ public class LogExceptionHandler implements PayErrorExceptionHandler { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimpleGetRequestExecutor.java b/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimpleGetRequestExecutor.java index c33a12be..14833997 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimpleGetRequestExecutor.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimpleGetRequestExecutor.java @@ -4,6 +4,7 @@ * @author egan * @email egzosn@gmail.com * @date 2016-5-24 + * @source chanjarster/weixin-java-tools */ import in.egan.pay.common.api.RequestExecutor; diff --git a/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimplePostRequestExecutor.java b/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimplePostRequestExecutor.java index 23f2d9b7..88b63f3e 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimplePostRequestExecutor.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/util/http/SimplePostRequestExecutor.java @@ -19,6 +19,8 @@ * @author egan * @email egzosn@gmail.com * @date 2016-5-18 14:09:01 + * @author Daniel Qian + * @source chanjarster/weixin-java-tools */ public class SimplePostRequestExecutor implements RequestExecutor { diff --git a/pay-java-common/src/main/java/in/egan/pay/common/util/http/Utf8ResponseHandler.java b/pay-java-common/src/main/java/in/egan/pay/common/util/http/Utf8ResponseHandler.java index f6d10dac..a5d74d02 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/util/http/Utf8ResponseHandler.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/util/http/Utf8ResponseHandler.java @@ -11,6 +11,8 @@ import java.io.IOException; /** + * @source chanjarster/weixin-java-tools + * @author Daniel Qian * @author egan * @email egzosn@gmail.com * @date 2016-5-24 diff --git a/pay-java-common/src/main/java/in/egan/pay/common/util/sign/SignUtils.java b/pay-java-common/src/main/java/in/egan/pay/common/util/sign/SignUtils.java index 66daa5a8..a7dd0c32 100644 --- a/pay-java-common/src/main/java/in/egan/pay/common/util/sign/SignUtils.java +++ b/pay-java-common/src/main/java/in/egan/pay/common/util/sign/SignUtils.java @@ -1,24 +1,8 @@ -/* - * Copyright 2002-2017 the original huodull or egan. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - package in.egan.pay.common.util.sign; import in.egan.pay.common.util.str.StringUtils; +import org.apache.http.message.BasicNameValuePair; import java.util.*; @@ -132,7 +116,7 @@ public static String parameterText(Map parameters, String separator) { if (null == valueStr || "".equals(valueStr.toString().trim()) || "sign".equals(k) || "key".equals(k) || "appId".equals(k) || "sign_type".equalsIgnoreCase(k)) { continue; } - sb.append(k ).append("=").append( valueStr).append(separator); + sb.append(k ).append("=").append( valueStr).append(separator); } if (sb.length() > 0) { sb.deleteCharAt(sb.length() - 1); @@ -147,17 +131,23 @@ public static String parameterText(Map parameters, String separator) { * @param separator * @return */ - public static String parameters2MD5Str(Map parameters, String separator){ + public static String parameters2MD5Str(Object parameters, String separator){ StringBuffer sb = new StringBuffer(); - Set keys = (Set) parameters.keySet(); if (parameters instanceof LinkedHashMap) { - for(String key : keys){ - String val = parameters.get(key).toString(); - if(StringUtils.isNotBlank(val)){ - sb.append(val).append(separator); - } + Set keys = (Set) ((LinkedHashMap)parameters).keySet(); + for(String key : keys){ + String val = ((LinkedHashMap)parameters).get(key).toString(); + if(StringUtils.isNotBlank(val)){ + sb.append(val).append(separator); + } + } + }else if(parameters instanceof List){ + for(BasicNameValuePair bnv :((List)parameters) ){ + if(StringUtils.isNotBlank(bnv.getValue())){ + sb.append(bnv.getValue()).append(separator); } + } } return StringUtils.isBlank(sb.toString())?"":sb.deleteCharAt(sb.length() - 1).toString(); diff --git a/pay-java-wx-youdian/src/main/java/in/egan/pay/wx/youdian/api/WxYouDianPayService.java b/pay-java-wx-youdian/src/main/java/in/egan/pay/wx/youdian/api/WxYouDianPayService.java index a4770f8d..9aa12cc0 100644 --- a/pay-java-wx-youdian/src/main/java/in/egan/pay/wx/youdian/api/WxYouDianPayService.java +++ b/pay-java-wx-youdian/src/main/java/in/egan/pay/wx/youdian/api/WxYouDianPayService.java @@ -133,7 +133,7 @@ public JSONObject login() throws PayErrorException { TreeMap data = new TreeMap<>(); data.put("username", payConfigStorage.getSeller()); data.put("password", payConfigStorage.getKeyPrivate()); - String apbNonce = "6863fc0308af4550993ad4a57693ed9d";//SignUtils.randomStr(); + String apbNonce = SignUtils.randomStr(); // 1、确定请求主体为用户登录,即需要传登录的用户名username和密码password并且要生成唯一的随机数命名为apb_nonce,长度为32位 // 2、将所有的参数集进行key排序 // 3、将排序后的数组从起始位置拼接成字符串如:password=XXXXXXXusername=XXXXX