package cc.mrbird.febs.pay.configure;
|
|
import cc.mrbird.febs.pay.properties.WxPayProperties;
|
import cn.hutool.core.util.StrUtil;
|
import com.github.binarywang.wxpay.config.WxPayConfig;
|
import com.github.binarywang.wxpay.service.WxPayService;
|
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
|
import lombok.AllArgsConstructor;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
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;
|
|
/**
|
* @author wzy
|
* @date 2023-04-07
|
**/
|
@Configuration
|
@ConditionalOnClass(WxPayService.class)
|
@EnableConfigurationProperties(WxPayProperties.class)
|
@AllArgsConstructor
|
public class WxPayConfiguration {
|
private WxPayProperties properties;
|
|
@Bean
|
@ConditionalOnMissingBean
|
public WxPayService wxService() {
|
WxPayConfig payConfig = new WxPayConfig();
|
payConfig.setAppId(StrUtil.trim(this.properties.getAppId()));
|
payConfig.setMchId(StrUtil.trim(this.properties.getMchId()));
|
payConfig.setMchKey(StrUtil.trim(this.properties.getMchKey()));
|
payConfig.setKeyPath(StrUtil.trim(this.properties.getKeyPath()));
|
|
// 可以指定是否使用沙箱环境
|
payConfig.setUseSandboxEnv(false);
|
|
WxPayService wxPayService = new WxPayServiceImpl();
|
wxPayService.setConfig(payConfig);
|
return wxPayService;
|
}
|
}
|