|
|
|
@ -18,6 +18,7 @@ package org.springblade.resource.builder.oss;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.core.cache.utils.CacheUtil; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.oss.OssTemplate; |
|
|
|
@ -44,6 +45,7 @@ import static org.springblade.core.cache.constant.CacheConstant.RESOURCE_CACHE;
|
|
|
|
|
* |
|
|
|
|
* @author Chill |
|
|
|
|
*/ |
|
|
|
|
@Slf4j |
|
|
|
|
public class OssBuilder { |
|
|
|
|
|
|
|
|
|
public static final String OSS_CODE = "oss:code:"; |
|
|
|
@ -123,10 +125,13 @@ public class OssBuilder {
|
|
|
|
|
* @return Oss |
|
|
|
|
*/ |
|
|
|
|
public Oss getOss(String tenantId, String code) { |
|
|
|
|
log.info(">>>>>>> tenantId ={}",tenantId); |
|
|
|
|
log.info(">>>>>>> code ={}",code); |
|
|
|
|
String key = tenantId; |
|
|
|
|
LambdaQueryWrapper<Oss> lqw = Wrappers.<Oss>query().lambda().eq(Oss::getTenantId, tenantId); |
|
|
|
|
// 获取传参的资源编号并查询,若有则返回,若没有则调启用的配置
|
|
|
|
|
String ossCode = StringUtil.isBlank(code) ? WebUtil.getParameter(OSS_PARAM_KEY) : code; |
|
|
|
|
log.info(">>>>>>> ossCode ={}",ossCode); |
|
|
|
|
if (StringUtil.isNotBlank(ossCode)) { |
|
|
|
|
key = key.concat(StringPool.DASH).concat(ossCode); |
|
|
|
|
lqw.eq(Oss::getOssCode, ossCode); |
|
|
|
@ -135,6 +140,7 @@ public class OssBuilder {
|
|
|
|
|
} |
|
|
|
|
Oss oss = CacheUtil.get(RESOURCE_CACHE, OSS_CODE, key, () -> { |
|
|
|
|
Oss o = ossService.getOne(lqw); |
|
|
|
|
log.info(">>>>>>> o ={}",o); |
|
|
|
|
// 若为空则调用默认配置
|
|
|
|
|
if (o == null || o.getId() == null) { |
|
|
|
|
Oss defaultOss = new Oss(); |
|
|
|
@ -144,11 +150,13 @@ public class OssBuilder {
|
|
|
|
|
defaultOss.setBucketName(ossProperties.getBucketName()); |
|
|
|
|
defaultOss.setAccessKey(ossProperties.getAccessKey()); |
|
|
|
|
defaultOss.setSecretKey(ossProperties.getSecretKey()); |
|
|
|
|
log.info(">>>>>>> defaultOss ={}",defaultOss); |
|
|
|
|
return defaultOss; |
|
|
|
|
} else { |
|
|
|
|
return o; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if (oss == null || oss.getId() == null) { |
|
|
|
|
throw new ServiceException("未获取到对应的对象存储配置"); |
|
|
|
|
} else { |
|
|
|
|