From 3328e843629cc28496a9e7331c1e5a3f1e2101fc Mon Sep 17 00:00:00 2001 From: Tang Cheng Date: Wed, 17 Jul 2019 22:40:34 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E7=BB=93=E6=9E=84=E9=87=8D?= =?utf8?q?=E6=9E=84=20agent=20bean=20=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../dlpay/framework/util/ApplicationUtil.java | 29 +++++++++++++++++++ .../api/controller/consume_api_controller.kt | 11 ++----- 2 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 payapi/src/main/java/com/supwisdom/dlpay/framework/util/ApplicationUtil.java diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/ApplicationUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/ApplicationUtil.java new file mode 100644 index 00000000..35236893 --- /dev/null +++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/ApplicationUtil.java @@ -0,0 +1,29 @@ +package com.supwisdom.dlpay.framework.util; + +import com.supwisdom.dlpay.agent.AgentPayService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.context.ApplicationContext; + +public class ApplicationUtil { + private static final Logger logger = LoggerFactory.getLogger(ApplicationUtil.class); + + public static AgentPayService findAgentPayService(ApplicationContext context, String service) { + try { + Object bean = context.getBean(service); + if (bean instanceof AgentPayService) { + return (AgentPayService) bean; + } else { + return null; + } + } catch (NoSuchBeanDefinitionException ex) { + logger.error("can't create bean <%s> , ex %s", service, ex.getMessage()); + return null; + } catch (BeansException ex) { + logger.error("can't create bean <%s> , ex %s", service, ex.getMessage()); + return null; + } + } +} diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt index 55f0697d..b0be4894 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt @@ -199,14 +199,9 @@ class ConsumeAPIController { } fun createAgentService(sourceType: String): AgentPayService { - return applicationContext.getBean(sourceType + "Agent")?.let { - if (it is AgentPayService) { - it - } else { - null - } - } ?: throw TransactionCheckException(TradeErrorCode.BUSINESS_DEAL_ERROR, - "支付类型<$sourceType>未定义") + return ApplicationUtil.findAgentPayService(applicationContext, sourceType + "Agent") + ?: throw TransactionCheckException(TradeErrorCode.BUSINESS_DEAL_ERROR, + "支付类型<$sourceType>未定义") } /** -- 2.17.1