| 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; | 
|     } | 
| } |