
com.spring.boxes.payment.PaymentAutoConfiguration Maven / Gradle / Ivy
The newest version!
package com.spring.boxes.payment;
import lombok.AllArgsConstructor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.lly835.bestpay.config.AliPayConfig;
import com.lly835.bestpay.config.WxPayConfig;
import com.lly835.bestpay.service.impl.BestPayServiceImpl;
import com.spring.boxes.payment.beans.AlibabaPayProperties;
import com.spring.boxes.payment.beans.WechatPayProperties;
import lombok.extern.slf4j.Slf4j;
import java.util.Objects;
@Slf4j
@Configuration
@AllArgsConstructor
@EnableConfigurationProperties(PaymentProperties.class)
public class PaymentAutoConfiguration {
private final PaymentProperties paymentProperties;
@Bean
@ConditionalOnMissingBean
public WxPayConfig wxPayConfig() {
WechatPayProperties properties = paymentProperties.getWechat();
WxPayConfig wxPayConfig = new WxPayConfig();
wxPayConfig.setAppId(properties.getMpAppId());
wxPayConfig.setMiniAppId(properties.getMiniAppId());
wxPayConfig.setMchId(properties.getMchId());
wxPayConfig.setMchKey(properties.getMchKey());
wxPayConfig.setKeyPath(properties.getKeyPath());
wxPayConfig.setNotifyUrl(properties.getNotifyUrl());
wxPayConfig.setAppAppId(properties.getAppAppId());
return wxPayConfig;
}
@Bean
@ConditionalOnMissingBean
public AliPayConfig aliPayConfig() {
AlibabaPayProperties properties = paymentProperties.getAlipay();
AliPayConfig aliPayConfig = new AliPayConfig();
aliPayConfig.setNotifyUrl(properties.getNotifyUrl());
aliPayConfig.setAppId(properties.getAppId());
aliPayConfig.setPrivateKey(properties.getPrivateKey());
aliPayConfig.setAliPayPublicKey(properties.getAliPayPublicKey());
aliPayConfig.setSandbox(properties.isSandbox());
aliPayConfig.setReturnUrl(properties.getReturnUrl());
return aliPayConfig;
}
@Bean
@ConditionalOnMissingBean
public BestPayServiceImpl bestPayService() {
BestPayServiceImpl bestPayService = new BestPayServiceImpl();
WxPayConfig wxPayConfig = wxPayConfig();
if(Objects.nonNull(wxPayConfig)){
bestPayService.setWxPayConfig(wxPayConfig());
}
if(Objects.nonNull(aliPayConfig())){
bestPayService.setAliPayConfig(aliPayConfig());
}
return bestPayService;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy