FrameTour-BE/src/main/java/com/ycwl/basic/pay/starter/PayAutoConfiguration.java
2025-04-17 10:49:11 +08:00

33 lines
1.1 KiB
Java

package com.ycwl.basic.pay.starter;
import com.ycwl.basic.pay.PayFactory;
import com.ycwl.basic.pay.adapter.IPayAdapter;
import com.ycwl.basic.pay.starter.config.OverallPayConfig;
import com.ycwl.basic.pay.starter.config.PayConfigItem;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Configuration;
@Configuration
public class PayAutoConfiguration {
private final OverallPayConfig config;
public PayAutoConfiguration(OverallPayConfig config) {
this.config = config;
if (config != null) {
if (config.getConfigs() != null) {
loadConfig();
}
if (StringUtils.isNotBlank(config.getDefaultUse())) {
PayFactory.setDefault(config.getDefaultUse());
}
}
}
private void loadConfig() {
for (PayConfigItem item : config.getConfigs()) {
IPayAdapter adapter = PayFactory.getAdapter(item.getType());
adapter.loadConfig(item.getConfig());
PayFactory.register(item.getName(), adapter);
}
}
}