From 52313d900ecc6a29f6bf96e88ba90893e7de25f5 Mon Sep 17 00:00:00 2001 From: egzosn Date: Wed, 31 Jan 2018 18:58:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=BD=AC=E8=B4=A6=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pay-java-ali/pom.xml | 2 +- .../com/egzosn/pay/ali/api/AliPayService.java | 162 ++++-------------- .../pay/ali/before/api/AliPayService.java | 149 +++------------- 3 files changed, 58 insertions(+), 255 deletions(-) diff --git a/pay-java-ali/pom.xml b/pay-java-ali/pom.xml index 33c79ec..f1d2256 100644 --- a/pay-java-ali/pom.xml +++ b/pay-java-ali/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.0.6-SNAPSHOT + 2.0.7-SNAPSHOT 4.0.0 pay-java-ali diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index c0c6109..b1e90a5 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -34,9 +34,13 @@ import java.util.*; public class AliPayService extends BasePayService { protected final Log log = LogFactory.getLog(AliPayService.class); - //正式测试环境 + /** + * 正式测试环境 + */ private final static String httpsReqUrl = "https://openapi.alipay.com/gateway.do"; - //沙箱测试环境账号 + /** + * 沙箱测试环境账号 + */ private final static String devReqUrl = "https://openapi.alipaydev.com/gateway.do"; @@ -121,7 +125,6 @@ public class AliPayService extends BasePayService { @Override public boolean verifySource(String id) { -// return "true".equals(requestTemplate.getForObject( getHttpsVerifyUrl() + "partner=" + payConfigStorage.getPid() + "¬ify_id=" + id, String.class)); return true; } @@ -292,16 +295,13 @@ public class AliPayService extends BasePayService { @Override public Map microPay(PayOrder order) { Map orderInfo = orderInfo(order); - -// Map content = new HashMap<>(1); -// content.put("biz_content", orderInfo.remove("biz_content")); //预订单 JSONObject result = getHttpRequestTemplate().postForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(orderInfo), null, JSONObject.class); JSONObject response = result.getJSONObject("alipay_trade_pay_response"); - if ("10000".equals(response.getString("code"))){ - return result; + if (!"10000".equals(response.getString("code"))){ + log.info("收款失败"); } - throw new PayErrorException(new PayException(response.getString("code"), response.getString("msg"), result.toJSONString())); + return result; } /** @@ -312,29 +312,11 @@ public class AliPayService extends BasePayService { */ @Override public Map query(String tradeNo, String outTradeNo) { + return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.QUERY); - return query(tradeNo, outTradeNo, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); } - /** - * 交易查询接口,带处理器 - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param callback 处理器 - * @param 返回类型 - * @return 返回查询回来的结果集 - */ - @Override - public T query(String tradeNo, String outTradeNo, Callback callback) { - - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.QUERY, callback); - } /** * 交易关闭接口 @@ -345,27 +327,9 @@ public class AliPayService extends BasePayService { */ @Override public Map close(String tradeNo, String outTradeNo) { + return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.CLOSE); + } - return close(tradeNo, outTradeNo, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - /** - * 交易关闭接口 - * - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方交易关闭后的结果 - */ - @Override - public T close(String tradeNo, String outTradeNo, Callback callback) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.CLOSE, callback); - } /** * 申请退款接口 * 废弃 @@ -379,32 +343,9 @@ public class AliPayService extends BasePayService { @Deprecated @Override public Map refund(String tradeNo, String outTradeNo, BigDecimal refundAmount, BigDecimal totalAmount) { - - return refund(tradeNo, outTradeNo, refundAmount, totalAmount, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); + return refund(new RefundOrder(tradeNo, outTradeNo, refundAmount, totalAmount)); } - /** - * 申请退款接口 - * 废弃 - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param refundAmount 退款金额 - * @param totalAmount 总金额 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方申请退款后的结果 - * @see #refund(RefundOrder, Callback) - */ - @Deprecated - @Override - public T refund(String tradeNo, String outTradeNo, BigDecimal refundAmount, BigDecimal totalAmount, Callback callback) { - return refund(new RefundOrder(tradeNo, outTradeNo, refundAmount, totalAmount), callback); - } /** * 申请退款接口 @@ -414,24 +355,6 @@ public class AliPayService extends BasePayService { */ @Override public Map refund(RefundOrder refundOrder) { - return refund(refundOrder, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - /** - * 申请退款接口 - * - * @param refundOrder 退款订单信息 - * @return 返回支付方申请退款后的结果 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方申请退款后的结果 - */ - @Override - public T refund(RefundOrder refundOrder, Callback callback) { //获取公共参数 Map parameters = getPublicParameters(AliTransactionType.REFUND); @@ -444,8 +367,9 @@ public class AliPayService extends BasePayService { parameters.put("biz_content", JSON.toJSONString(bizContent)); //设置签名 setSign(parameters); - return callback.perform(requestTemplate.getForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class)); + return requestTemplate.getForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class); } + /** * 查询退款 * @@ -462,19 +386,7 @@ public class AliPayService extends BasePayService { } }); } - /** - * 查询退款 - * - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方查询退款后的结果 - */ - @Override - public T refundquery(String tradeNo, String outTradeNo, Callback callback) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.REFUNDQUERY, callback); - } + /** * 目前只支持日账单 @@ -484,25 +396,6 @@ public class AliPayService extends BasePayService { */ @Override public Map downloadbill(Date billDate, String billType) { - return downloadbill(billDate, billType, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - - /** - * 目前只支持日账单 - * @param billDate 账单时间:具体请查看对应支付平台 - * @param billType 账单类型,具体请查看对应支付平台 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方下载对账单的结果 - */ - @Override - public T downloadbill(Date billDate, String billType, Callback callback) { - //获取公共参数 Map parameters = getPublicParameters(AliTransactionType.DOWNLOADBILL); @@ -516,21 +409,21 @@ public class AliPayService extends BasePayService { parameters.put("biz_content", JSON.toJSONString(bizContent)); //设置签名 setSign(parameters); - return callback.perform(requestTemplate.getForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class)); + return requestTemplate.getForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class); } + + /** * * @param tradeNoOrBillDate 支付平台订单号或者账单类型, 具体请 * 类型为{@link String }或者 {@link Date },类型须强制限制,类型不对应则抛出异常{@link PayErrorException} * @param outTradeNoBillType 商户单号或者 账单类型 * @param transactionType 交易类型 - * @param callback 处理器 - * @param 返回类型 * @return 返回支付方对应接口的结果 */ @Override - public T secondaryInterface(Object tradeNoOrBillDate, String outTradeNoBillType, TransactionType transactionType, Callback callback) { + public Map secondaryInterface(Object tradeNoOrBillDate, String outTradeNoBillType, TransactionType transactionType){ if (transactionType == AliTransactionType.REFUND){ throw new PayErrorException(new PayException("failure", "通用接口不支持:" + transactionType)); @@ -538,7 +431,7 @@ public class AliPayService extends BasePayService { if (transactionType == AliTransactionType.DOWNLOADBILL){ if (tradeNoOrBillDate instanceof Date){ - return downloadbill((Date) tradeNoOrBillDate, outTradeNoBillType, callback); + return downloadbill((Date) tradeNoOrBillDate, outTradeNoBillType); } throw new PayErrorException(new PayException("failure", "非法类型异常:" + tradeNoOrBillDate.getClass())); } @@ -553,8 +446,19 @@ public class AliPayService extends BasePayService { parameters.put("biz_content", getContentToJson(tradeNoOrBillDate.toString(), outTradeNoBillType)); //设置签名 setSign(parameters); - return callback.perform(requestTemplate.getForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class)); + return requestTemplate.getForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class); + } + /** + * 转账 + * + * @param order 转账订单 + * + * @return 对应的转账结果 + */ + @Override + public Map transfer(TransferOrder order) { + return null; } /** diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java index 64ea391..ce910dd 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java @@ -355,27 +355,10 @@ public class AliPayService extends BasePayService { @Override public Map query(String tradeNo, String outTradeNo) { - return query(tradeNo, outTradeNo, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); + return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.QUERY); } - /** - * 交易查询接口,带处理器 - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param callback 处理器 - * @param 返回类型 - * @return 返回查询回来的结果集 - */ - @Override - public T query(String tradeNo, String outTradeNo, Callback callback) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.QUERY, callback); - } /** * 交易关闭接口 @@ -387,26 +370,9 @@ public class AliPayService extends BasePayService { @Override public Map close(String tradeNo, String outTradeNo) { - return close(tradeNo, outTradeNo, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - /** - * 交易关闭接口 - * - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方交易关闭后的结果 - */ - @Override - public T close(String tradeNo, String outTradeNo, Callback callback) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.CLOSE, callback); + return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.CLOSE); } + /** * 申请退款接口 * 废弃 @@ -421,30 +387,7 @@ public class AliPayService extends BasePayService { @Override public Map refund(String tradeNo, String outTradeNo, BigDecimal refundAmount, BigDecimal totalAmount) { - return refund(tradeNo, outTradeNo, refundAmount, totalAmount, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - /** - * 申请退款接口 - * 废弃 - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param refundAmount 退款金额 - * @param totalAmount 总金额 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方申请退款后的结果 - * @see #refund(RefundOrder, Callback) - */ - @Deprecated - @Override - public T refund(String tradeNo, String outTradeNo, BigDecimal refundAmount, BigDecimal totalAmount, Callback callback) { - - return refund(new RefundOrder(tradeNo, outTradeNo, refundAmount, totalAmount), callback); + return refund(new RefundOrder(tradeNo, outTradeNo, refundAmount, totalAmount)); } /** @@ -455,25 +398,6 @@ public class AliPayService extends BasePayService { */ @Override public Map refund(RefundOrder refundOrder) { - return refund(refundOrder, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - /** - * 申请退款接口 - * - * @param refundOrder 退款订单信息 - * @return 返回支付方申请退款后的结果 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方申请退款后的结果 - */ - @Override - public T refund(RefundOrder refundOrder, Callback callback) { - //获取公共参数 Map parameters = getPublicParameters(AliTransactionType.REFUND); Map bizContent = getBizContent(refundOrder.getTradeNo(), refundOrder.getOutTradeNo(), null); @@ -485,7 +409,7 @@ public class AliPayService extends BasePayService { parameters.put("biz_content", JSON.toJSONString(bizContent)); //设置签名 setSign(parameters); - return callback.perform(requestTemplate.getForObject(QUERY_REQ_URL + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class)); + return requestTemplate.getForObject(QUERY_REQ_URL + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class); } /** @@ -497,27 +421,10 @@ public class AliPayService extends BasePayService { */ @Override public Map refundquery(String tradeNo, String outTradeNo) { - return refundquery(tradeNo, outTradeNo, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); + return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.REFUNDQUERY); } - /** - * 查询退款 - * - * @param tradeNo 支付平台订单号 - * @param outTradeNo 商户单号 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方查询退款后的结果 - */ - @Override - public T refundquery(String tradeNo, String outTradeNo, Callback callback) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.REFUNDQUERY, callback); - } + /** * 目前只支持日账单 @@ -527,25 +434,6 @@ public class AliPayService extends BasePayService { */ @Override public Map downloadbill(Date billDate, String billType) { - return downloadbill(billDate, billType, new Callback>() { - @Override - public Map perform(Map map) { - return map; - } - }); - } - - /** - * 目前只支持日账单 - * @param billDate 账单时间:具体请查看对应支付平台 - * @param billType 账单类型,具体请查看对应支付平台 - * @param callback 处理器 - * @param 返回类型 - * @return 返回支付方下载对账单的结果 - */ - @Override - public T downloadbill(Date billDate, String billType, Callback callback) { - //获取公共参数 Map parameters = getPublicParameters(AliTransactionType.DOWNLOADBILL); @@ -559,24 +447,23 @@ public class AliPayService extends BasePayService { parameters.put("biz_content", JSON.toJSONString(bizContent)); //设置签名 setSign(parameters); - return callback.perform(requestTemplate.getForObject(QUERY_REQ_URL + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class)); + return requestTemplate.getForObject(QUERY_REQ_URL + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class); } + /** * * @param tradeNoOrBillDate 支付平台订单号或者账单类型, 具体请 * 类型为{@link String }或者 {@link Date },类型须强制限制,类型不对应则抛出异常{@link PayErrorException} * @param outTradeNoBillType 商户单号或者 账单类型 * @param transactionType 交易类型 - * @param callback 处理器 - * @param 返回类型 * @return 返回支付方对应接口的结果 */ @Override - public T secondaryInterface(Object tradeNoOrBillDate, String outTradeNoBillType, TransactionType transactionType, Callback callback) { + public Map secondaryInterface(Object tradeNoOrBillDate, String outTradeNoBillType, TransactionType transactionType) { if (transactionType == AliTransactionType.DOWNLOADBILL){ if (tradeNoOrBillDate instanceof Date){ - return downloadbill((Date) tradeNoOrBillDate, outTradeNoBillType, callback); + return downloadbill((Date) tradeNoOrBillDate, outTradeNoBillType); } throw new PayErrorException(new PayException("failure", "非法类型异常:" + tradeNoOrBillDate.getClass())); } @@ -591,10 +478,22 @@ public class AliPayService extends BasePayService { parameters.put("biz_content", getContentToJson(tradeNoOrBillDate.toString(), outTradeNoBillType)); //设置签名 setSign(parameters); - return callback.perform(requestTemplate.getForObject(QUERY_REQ_URL + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class)); + return requestTemplate.getForObject(QUERY_REQ_URL + "?" + UriVariables.getMapToParameters(parameters), JSONObject.class); } + /** + * 转账 + * + * @param order 转账订单 + * + * @return 对应的转账结果 + */ + @Override + public Map transfer(TransferOrder order) { + return null; + } + /** * 获取biz_content。请求参数的集合 不包含下载账单