From 68c43fa48e4656272115f8e162026e4e2cbab4ae Mon Sep 17 00:00:00 2001 From: egzosn Date: Tue, 6 Feb 2018 17:22:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=84=E5=8A=A0=E5=8F=82=E6=95=B0=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/egzosn/pay/demo/entity/PayType.java | 30 ++++++++++--------- .../egzosn/pay/demo/service/PayResponse.java | 2 +- .../service/handler/AliPayMessageHandler.java | 11 ++++--- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/PayType.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/PayType.java index 415b82f..15de64f 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/PayType.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/PayType.java @@ -44,20 +44,22 @@ public enum PayType implements BasePayType { */ @Override public PayService getPayService(ApyAccount apyAccount) { - AliPayConfigStorage aliPayConfigStorage = new AliPayConfigStorage(); - aliPayConfigStorage.setPid(apyAccount.getPartner()); - aliPayConfigStorage.setAppId(apyAccount.getAppid()); - aliPayConfigStorage.setKeyPublic(apyAccount.getPublicKey()); - aliPayConfigStorage.setKeyPrivate(apyAccount.getPrivateKey()); - aliPayConfigStorage.setNotifyUrl(apyAccount.getNotifyUrl()); - aliPayConfigStorage.setReturnUrl(apyAccount.getReturnUrl()); - aliPayConfigStorage.setSignType(apyAccount.getSignType()); - aliPayConfigStorage.setSeller(apyAccount.getSeller()); - aliPayConfigStorage.setPayType(apyAccount.getPayType().toString()); - aliPayConfigStorage.setMsgType(apyAccount.getMsgType()); - aliPayConfigStorage.setInputCharset(apyAccount.getInputCharset()); - aliPayConfigStorage.setTest(apyAccount.isTest()); - return new AliPayService(aliPayConfigStorage); + AliPayConfigStorage configStorage = new AliPayConfigStorage(); + //配置的附加参数的使用 + configStorage.setAttach(apyAccount.getPayId()); + configStorage.setPid(apyAccount.getPartner()); + configStorage.setAppId(apyAccount.getAppid()); + configStorage.setKeyPublic(apyAccount.getPublicKey()); + configStorage.setKeyPrivate(apyAccount.getPrivateKey()); + configStorage.setNotifyUrl(apyAccount.getNotifyUrl()); + configStorage.setReturnUrl(apyAccount.getReturnUrl()); + configStorage.setSignType(apyAccount.getSignType()); + configStorage.setSeller(apyAccount.getSeller()); + configStorage.setPayType(apyAccount.getPayType().toString()); + configStorage.setMsgType(apyAccount.getMsgType()); + configStorage.setInputCharset(apyAccount.getInputCharset()); + configStorage.setTest(apyAccount.isTest()); + return new AliPayService(configStorage); } @Override diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java index 9e71a50..b71f5f2 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java @@ -92,7 +92,7 @@ public class PayResponse { //拦截器 .interceptor(new AliPayMessageInterceptor()) //处理器 - .handler(autowire(new AliPayMessageHandler(payId))) + .handler(spring.getBean(AliPayMessageHandler.class)) .end() .rule() .msgType(MsgType.xml.name()) diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/handler/AliPayMessageHandler.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/handler/AliPayMessageHandler.java index 2d09214..8ad88ad 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/handler/AliPayMessageHandler.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/handler/AliPayMessageHandler.java @@ -1,10 +1,12 @@ package com.egzosn.pay.demo.service.handler; +import com.egzosn.pay.common.api.PayMessageHandler; import com.egzosn.pay.common.api.PayService; import com.egzosn.pay.common.bean.PayMessage; import com.egzosn.pay.common.bean.PayOutMessage; import com.egzosn.pay.common.bean.outbuilder.TextBuilder; import com.egzosn.pay.common.exception.PayErrorException; +import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.Map; @@ -14,16 +16,17 @@ import java.util.Map; * Created by ZaoSheng on 2016/6/1. * */ -public class AliPayMessageHandler extends BasePayMessageHandler { +@Component +public class AliPayMessageHandler implements PayMessageHandler { + - public AliPayMessageHandler(Integer payId) { - super(payId); - } @Override public PayOutMessage handle(PayMessage payMessage, Map context, PayService payService) throws PayErrorException { + //com.egzosn.pay.demo.entity.PayType.getPayService()#48 + Object payId = payService.getPayConfigStorage().getAttach(); Map message = payMessage.getPayMessage(); //交易状态