package com.qianwen.core.oss.config; import com.qiniu.storage.BucketManager; import com.qiniu.storage.Region; import com.qiniu.storage.UploadManager; import com.qiniu.util.Auth; import com.qianwen.core.oss.QiniuTemplate; import com.qianwen.core.oss.props.OssProperties; import com.qianwen.core.oss.rule.OssRule; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @EnableConfigurationProperties({OssProperties.class}) @Configuration(proxyBeanMethods = false) @ConditionalOnClass({Auth.class, UploadManager.class, BucketManager.class}) @AutoConfigureAfter({OssConfiguration.class}) @ConditionalOnProperty(value = {"oss.name"}, havingValue = "qiniu") /* loaded from: blade-starter-oss-9.3.0.0-SNAPSHOT.jar:org/springblade/core/oss/config/QiniuConfiguration.class */ public class QiniuConfiguration { private final OssProperties ossProperties; private final OssRule ossRule; public QiniuConfiguration(final OssProperties ossProperties, final OssRule ossRule) { this.ossProperties = ossProperties; this.ossRule = ossRule; } @ConditionalOnMissingBean({com.qiniu.storage.Configuration.class}) @Bean public com.qiniu.storage.Configuration qnConfiguration() { return new com.qiniu.storage.Configuration(Region.autoRegion()); } @ConditionalOnMissingBean({Auth.class}) @Bean public Auth auth() { return Auth.create(this.ossProperties.getAccessKey(), this.ossProperties.getSecretKey()); } @ConditionalOnBean({com.qiniu.storage.Configuration.class}) @Bean public UploadManager uploadManager(com.qiniu.storage.Configuration cfg) { return new UploadManager(cfg); } @ConditionalOnBean({com.qiniu.storage.Configuration.class}) @Bean public BucketManager bucketManager(com.qiniu.storage.Configuration cfg) { return new BucketManager(Auth.create(this.ossProperties.getAccessKey(), this.ossProperties.getSecretKey()), cfg); } @ConditionalOnMissingBean({QiniuTemplate.class}) @ConditionalOnBean({Auth.class, UploadManager.class, BucketManager.class}) @Bean public QiniuTemplate qiniuTemplate(Auth auth, UploadManager uploadManager, BucketManager bucketManager) { return new QiniuTemplate(auth, uploadManager, bucketManager, this.ossProperties, this.ossRule); } }