yangys
2024-04-01 c323e4ce593a886412bac2403a922ae2bf629655
smart-man-boot/src/main/java/com/qianwen/smartman/modules/resource/builder/oss/OssBuilder.java
@@ -1,12 +1,10 @@
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;
@@ -16,10 +14,12 @@
import com.qianwen.core.oss.rule.BladeOssRule;
import com.qianwen.core.oss.rule.OssRule;
import com.qianwen.core.redis.cache.BladeRedis;
import com.qianwen.core.tenant.mp.TenantEntity;
import com.qianwen.core.tool.utils.Func;
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;
@@ -33,56 +33,7 @@
    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, Oss> ossPool = new ConcurrentHashMap<>();
    public OssBuilder(OssProperties ossProperties, IOssService ossService) {
        this.ossProperties = ossProperties;
@@ -189,23 +140,30 @@
    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);
        }