package com.iplatform.pay.config; import com.iplatform.pay.DefaultEngineManager; import com.iplatform.pay.service.PayDefinitionServiceImpl; import com.iplatform.pay.service.PlatformOrderServiceImpl; import com.walker.infrastructure.arguments.ArgumentsManager; import com.walker.pay.PayEngineManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class PayEngineConfig { /** * 增加支付参数文件配置 * @return * @date 2023-08-12 */ @Bean public PayProperties payProperties(){ return new PayProperties(); } /** * 创建支付引擎管理器对象,全局唯一。 * @return * @date 2023-02-25 */ @Bean public PayEngineManager payEngineManager(ArgumentsManager argumentsManager , PayDefinitionServiceImpl payDefinitionService, PlatformOrderServiceImpl orderService, RestTemplate restTemplate , PayProperties payProperties){ DefaultEngineManager defaultEngineManager = new DefaultEngineManager(); defaultEngineManager.setPayDefinitionService(payDefinitionService); defaultEngineManager.setPlatformOrderService(orderService); defaultEngineManager.setArgumentsManager(argumentsManager); defaultEngineManager.setRestTemplate(restTemplate); defaultEngineManager.setPayProperties(payProperties); defaultEngineManager.loadPayDefinitionList(); return defaultEngineManager; } }