| | |
| | | package com.qianwen.smartman.modules.resource.builder.oss; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import java.lang.invoke.SerializedLambda; |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import com.qianwen.smartman.common.constant.ExtCacheConstant; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.qianwen.core.cache.utils.CacheUtil; |
| | | import com.qianwen.core.log.exception.ServiceException; |
| | | import com.qianwen.core.oss.OssTemplate; |
| | |
| | | import com.qianwen.core.tool.utils.SpringUtil; |
| | | import com.qianwen.core.tool.utils.StringUtil; |
| | | import com.qianwen.core.tool.utils.WebUtil; |
| | | import com.qianwen.smartman.common.constant.ExtCacheConstant; |
| | | import com.qianwen.smartman.modules.resource.entity.Oss; |
| | | import com.qianwen.smartman.modules.resource.enums.BucketEnum; |
| | | import com.qianwen.smartman.modules.resource.service.IOssService; |
| | | |
| | | /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/resource/builder/oss/OssBuilder.class */ |
| | | public class OssBuilder { |
| | | public static final String OSS_CODE = "oss:code:"; |
| | | public static final String OSS_PARAM_KEY = "code"; |
| | |
| | | private static BladeRedis bladeRedis; |
| | | private final OssProperties ossProperties; |
| | | private final IOssService ossService; |
| | | private final Map<String, OssTemplate> templatePool = new ConcurrentHashMap(); |
| | | private final Map<String, Oss> ossPool = new ConcurrentHashMap(); |
| | | |
| | | private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { |
| | | String implMethodName = lambda.getImplMethodName(); |
| | | boolean z = true; |
| | | switch (implMethodName.hashCode()) { |
| | | case -128783002: |
| | | if (implMethodName.equals("getOssCode")) { |
| | | z = false; |
| | | break; |
| | | } |
| | | break; |
| | | case 771206363: |
| | | if (implMethodName.equals("getTenantId")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 803533544: |
| | | if (implMethodName.equals("getStatus")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | } |
| | | switch (z) { |
| | | case false: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/resource/entity/Oss") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getOssCode(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getTenantId(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getStatus(); |
| | | }; |
| | | } |
| | | break; |
| | | } |
| | | throw new IllegalArgumentException("Invalid lambda deserialization"); |
| | | } |
| | | private final Map<String, OssTemplate> templatePool = new ConcurrentHashMap<>(); |
| | | private final Map<String, Oss> ossPool = new ConcurrentHashMap<>(); |
| | | |
| | | public OssBuilder(OssProperties ossProperties, IOssService ossService) { |
| | | this.ossProperties = ossProperties; |
| | |
| | | |
| | | private static BladeRedis getBladeRedis() { |
| | | if (bladeRedis == null) { |
| | | bladeRedis = (BladeRedis) SpringUtil.getBean(BladeRedis.class); |
| | | bladeRedis = SpringUtil.getBean(BladeRedis.class); |
| | | } |
| | | return bladeRedis; |
| | | } |
| | |
| | | Oss oss = getOss("000000", code); |
| | | Oss ossCached = this.ossPool.get("000000"); |
| | | OssTemplate template2 = this.templatePool.get("000000"); |
| | | if (!Func.hasEmpty(new Object[]{template2, ossCached}) && oss.getEndpoint().equals(ossCached.getEndpoint()) && oss.getAccessKey().equals(ossCached.getAccessKey())) { |
| | | if (!Func.hasEmpty(template2, ossCached) && oss.getEndpoint().equals(ossCached.getEndpoint()) && oss.getAccessKey().equals(ossCached.getAccessKey())) { |
| | | return template2; |
| | | } |
| | | synchronized (OssBuilder.class) { |
| | |
| | | |
| | | public Oss getOss(String tenantId, String code) { |
| | | String key = Func.isBlank(tenantId) ? "000000" : tenantId; |
| | | LambdaQueryWrapper<Oss> lqw = Wrappers.<Oss>query().lambda().eq(Oss::getTenantId, tenantId); |
| | | /* |
| | | Wrapper wrapper = (LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> { |
| | | return v0.getTenantId(); |
| | | }, tenantId); |
| | | }, tenantId);*/ |
| | | String ossCode = StringUtil.isBlank(code) ? WebUtil.getParameter("code") : code; |
| | | if (StringUtil.isNotBlank(ossCode)) { |
| | | key = key.concat("-").concat(ossCode); |
| | | |
| | | lqw.eq(Oss::getOssCode, ossCode); |
| | | /* |
| | | wrapper.eq((v0) -> { |
| | | return v0.getOssCode(); |
| | | }, ossCode); |
| | | }, ossCode);*/ |
| | | } else { |
| | | lqw.eq(Oss::getStatus, Integer.valueOf(OssStatusEnum.ENABLE.getNum())); |
| | | /* |
| | | wrapper.eq((v0) -> { |
| | | return v0.getStatus(); |
| | | }, Integer.valueOf(OssStatusEnum.ENABLE.getNum())); |
| | | }, Integer.valueOf(OssStatusEnum.ENABLE.getNum()));*/ |
| | | } |
| | | Oss oss = (Oss) CacheUtil.get("blade:resource", OSS_CODE, key, ExtCacheConstant.TENANT_MODE); |
| | | if (Func.isEmpty(oss)) { |
| | | oss = (Oss) this.ossService.getOne(wrapper); |
| | | oss = this.ossService.getOne(lqw); |
| | | String redisKey = "blade:resource".concat("::").concat(OSS_CODE).concat(tenantId); |
| | | getBladeRedis().setEx(redisKey, oss, ExtCacheConstant.FIVE_MINUTES_EXPIRE_TIME); |
| | | } |