|
@@ -9,15 +9,20 @@ import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
|
|
|
|
@Component
|
|
@Component
|
|
|
@Data
|
|
@Data
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
|
|
+@ConditionalOnProperty(prefix = "fs.wxpay", name = "enabled", havingValue = "true", matchIfMissing = false)
|
|
|
public class WxPayProperties {
|
|
public class WxPayProperties {
|
|
|
|
|
|
|
|
|
|
+ private static final AtomicBoolean MISSING_CONFIG_WARNED = new AtomicBoolean(false);
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private SysConfigMapper sysConfigMapper;
|
|
private SysConfigMapper sysConfigMapper;
|
|
|
@Autowired
|
|
@Autowired
|
|
@@ -33,6 +38,9 @@ public class WxPayProperties {
|
|
|
* 公用方法:查询数据库获取微信支付配置
|
|
* 公用方法:查询数据库获取微信支付配置
|
|
|
*/
|
|
*/
|
|
|
private ProjectConfig.Wx.Pay getWxPayConfigFromDB() {
|
|
private ProjectConfig.Wx.Pay getWxPayConfigFromDB() {
|
|
|
|
|
+ if (sysConfigMapper == null) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
try {
|
|
try {
|
|
|
// 1. 先从Redis缓存中获取
|
|
// 1. 先从Redis缓存中获取
|
|
|
ProjectConfig cachedConfig = getConfigFromCache();
|
|
ProjectConfig cachedConfig = getConfigFromCache();
|
|
@@ -45,18 +53,24 @@ public class WxPayProperties {
|
|
|
|
|
|
|
|
ProjectConfig projectConfig = ProjectConfig.getFromDB(sysConfigMapper);
|
|
ProjectConfig projectConfig = ProjectConfig.getFromDB(sysConfigMapper);
|
|
|
if (projectConfig == null) {
|
|
if (projectConfig == null) {
|
|
|
- log.warn("未找到微信支付配置");
|
|
|
|
|
|
|
+ if (MISSING_CONFIG_WARNED.compareAndSet(false, true)) {
|
|
|
|
|
+ log.debug("未找到微信支付配置");
|
|
|
|
|
+ }
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (projectConfig.getWx() == null) {
|
|
if (projectConfig.getWx() == null) {
|
|
|
- log.warn("配置中未找到wx节点");
|
|
|
|
|
|
|
+ if (MISSING_CONFIG_WARNED.compareAndSet(false, true)) {
|
|
|
|
|
+ log.debug("配置中未找到wx节点");
|
|
|
|
|
+ }
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ProjectConfig.Wx.Pay payConfig = projectConfig.getWx().getPay();
|
|
ProjectConfig.Wx.Pay payConfig = projectConfig.getWx().getPay();
|
|
|
if (payConfig == null) {
|
|
if (payConfig == null) {
|
|
|
- log.warn("配置中未找到pay节点");
|
|
|
|
|
|
|
+ if (MISSING_CONFIG_WARNED.compareAndSet(false, true)) {
|
|
|
|
|
+ log.debug("配置中未找到pay节点");
|
|
|
|
|
+ }
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|