From 593890d2313ca055ce8aac6d7fb628fd0d3dfaf8 Mon Sep 17 00:00:00 2001 From: xiangwbs Date: Sun, 15 Apr 2018 22:37:13 +0800 Subject: [PATCH] merge --- .../java/com/xwbing/constant/CommonEnum.java | 4 +- .../xwbing/service/other/AliPayService.java | 74 +++++++++---------- 2 files changed, 38 insertions(+), 40 deletions(-) diff --git a/boot-service/src/main/java/com/xwbing/constant/CommonEnum.java b/boot-service/src/main/java/com/xwbing/constant/CommonEnum.java index b21fc01..4abc06b 100644 --- a/boot-service/src/main/java/com/xwbing/constant/CommonEnum.java +++ b/boot-service/src/main/java/com/xwbing/constant/CommonEnum.java @@ -179,9 +179,7 @@ public class CommonEnum { // } //不确定,先判断再取值 Optional optional = Arrays.stream(YesOrNoEnum.values()).filter(obj -> obj.getCode().equals(code)).findFirst(); - if (optional.isPresent()) { - String code1 = optional.get().getCode(); - } + optional.ifPresent(yesOrNoEnum -> System.out.println(yesOrNoEnum.getName())); //确定有值,直接取 YesOrNoEnum yesOrNoEnum = Arrays.stream(YesOrNoEnum.values()).filter(obj -> obj.getCode().equals(code)).findFirst().get(); System.out.println(yesOrNoEnum.getName()); diff --git a/boot-service/src/main/java/com/xwbing/service/other/AliPayService.java b/boot-service/src/main/java/com/xwbing/service/other/AliPayService.java index ec6b528..3ce64fe 100644 --- a/boot-service/src/main/java/com/xwbing/service/other/AliPayService.java +++ b/boot-service/src/main/java/com/xwbing/service/other/AliPayService.java @@ -11,7 +11,6 @@ import com.alipay.api.response.AlipayTradePayResponse; import com.alipay.api.response.AlipayTradeQueryResponse; import com.alipay.api.response.AlipayTradeRefundResponse; import com.xwbing.domain.entity.pay.alipay.*; -import com.xwbing.exception.BusinessException; import com.xwbing.exception.PayException; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -20,7 +19,8 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Service; -import java.util.Objects; +import java.util.Arrays; +import java.util.Optional; /** * 说明: 支付宝支付接口实现 @@ -221,22 +221,6 @@ public class AliPayService { return result; } - /** - * 查询接口校验subCode是否存在。如果subCode存在,代表调用接口失败。业务调用时只需判断result是否为success即可 - * - * @return - */ - private void checkSubCode(AliPayQueryResult result, AlipayTradeQueryResponse response) { - if (StringUtils.isNotEmpty(response.getSubCode())) { - result.setCode(response.getSubCode()); - result.setMessage(response.getSubMsg()); - logger.error(response.getSubMsg()); - } else { - result.setCode(response.getCode()); - result.setMessage(response.getMsg()); - } - } - /** * 入参校验 * @@ -260,36 +244,52 @@ public class AliPayService { return message; } + /** + * 查询接口校验subCode是否存在。如果subCode存在,代表调用接口失败。业务调用时只需判断result是否为success即可 + * + * @return + */ + private void checkSubCode(AliPayQueryResult result, AlipayTradeQueryResponse response) { + if (StringUtils.isNotEmpty(response.getSubCode())) { + result.setCode(response.getSubCode()); + result.setMessage(response.getSubMsg()); + logger.error(response.getSubMsg()); + } else { + result.setCode(response.getCode()); + result.setMessage(response.getMsg()); + } + } + public static void main(String[] args) { //刷卡支付 AliPayService alipayBuilder = new AliPayService(); - String orderNo = "201705180202"; -// String authCode = "286796667181427987"; -// AlipayBarCodePayParam codePayParam = new AlipayBarCodePayParam(orderNo, authCode, "test", 0.1f); -// AlipayBarCodePayResult codePayResult = alipayBuilder.barCodePay(codePayParam); -// System.out.println(codePayResult.isSuccess() + codePayResult.getMessage()); + String orderNo = "201805180207";//订单号 + String authCode = "285620814798006808";//二维码 + AliPayBarCodePayParam codePayParam = new AliPayBarCodePayParam(orderNo, authCode, "test", 0.1f); + AliPayBarCodePayResult codePayResult = alipayBuilder.barCodePay(codePayParam); + boolean success = codePayResult.isSuccess(); + if (!success) { + System.out.println(codePayResult.getMessage()); + } //查询订单 - String tradeNo = "2017051221001004630289850336"; - AliPayQueryResult queryResult = alipayBuilder.queryOrder(orderNo, tradeNo); + String tradeNo = codePayResult.getTradeNo();//支付宝交易号 + AliPayQueryResult queryResult = alipayBuilder.queryOrder("", tradeNo); if (!queryResult.isSuccess()) { - throw new BusinessException(queryResult.getMessage()); + System.out.println(queryResult.getMessage()); } String tradeStatus = queryResult.getTradeStatus(); - for (AliPayTradeStatusEnum status : AliPayTradeStatusEnum.values()) { - if (Objects.equals(tradeStatus, status.getCode())) { - System.out.println(status.getName()); - break; - } - } + Optional first = Arrays.stream(AliPayTradeStatusEnum.values()).filter(aliPayTradeStatusEnum -> aliPayTradeStatusEnum.getCode().equals(tradeStatus)).findFirst(); + first.ifPresent(aliPayTradeStatusEnum -> System.out.println(aliPayTradeStatusEnum.getName())); // //退款操作 - AliPayRefundParam refundParam = new AliPayRefundParam("201505129999", orderNo, 0.05f, "test"); -// AlipayRefundResult refundResult = alipayBuilder.refund(refundParam); -// System.out.println(refundResult.getMessage()); + String outRequestNo = "201805180202";//退款请求号 + AliPayRefundParam refundParam = new AliPayRefundParam(outRequestNo, tradeNo, "test", 0.05f); + AliPayRefundResult refundResult = alipayBuilder.refund(refundParam); + System.out.println(refundResult.getMessage()); // //查询退款 只要success,即为成功 -// AlipayQueryResult refund = alipayBuilder.queryRefund(orderNo, "", "201505129999"); -// System.out.println(refund.isSuccess()); + AliPayQueryResult refund = alipayBuilder.queryRefund("", tradeNo, outRequestNo); + System.out.println(refund.isSuccess()); } }