package org.ruoyi.common.config;
|
|
import com.github.binarywang.wxpay.config.WxPayConfig;
|
import com.github.binarywang.wxpay.service.WxPayService;
|
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
|
|
import org.ruoyi.common.core.service.ConfigService;
|
import jakarta.annotation.PostConstruct;
|
import lombok.RequiredArgsConstructor;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
/**
|
* @author Binary Wang
|
*/
|
@Configuration
|
@RequiredArgsConstructor
|
public class WxPayConfiguration {
|
|
private final ConfigService configService;
|
|
private WxPayService wxPayService;
|
|
@PostConstruct
|
public void init() {
|
WxPayConfig payConfig = new WxPayConfig();
|
payConfig.setAppId(StringUtils.trimToNull(getKey("appId")));
|
payConfig.setMchId(StringUtils.trimToNull(getKey("mchId")));
|
payConfig.setMchKey(StringUtils.trimToNull(getKey("appSecret")));
|
payConfig.setUseSandboxEnv(false);
|
wxPayService = new WxPayServiceImpl();
|
wxPayService.setConfig(payConfig);
|
}
|
|
@Bean
|
@ConditionalOnMissingBean
|
public WxPayService wxService() {
|
return wxPayService;
|
}
|
|
public String getKey(String key) {
|
return configService.getConfigValue("weixin", key);
|
}
|
|
}
|