| | |
| | | package com.qianwen.smartman.modules.resource.builder.sms; |
| | | |
| | | 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.redis.cache.BladeRedis; |
| | |
| | | import com.qianwen.core.tool.utils.Func; |
| | | 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.Sms; |
| | | import com.qianwen.smartman.modules.resource.service.ISmsService; |
| | | |
| | |
| | | private final BladeRedis bladeRedis; |
| | | private final Map<String, SmsTemplate> templatePool = new ConcurrentHashMap(); |
| | | private final Map<String, Sms> smsPool = new ConcurrentHashMap(); |
| | | |
| | | private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { |
| | | String implMethodName = lambda.getImplMethodName(); |
| | | boolean z = true; |
| | | switch (implMethodName.hashCode()) { |
| | | case -1045510480: |
| | | if (implMethodName.equals("getSmsCode")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 771206363: |
| | | if (implMethodName.equals("getTenantId")) { |
| | | z = false; |
| | | 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/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; |
| | | 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/modules/resource/entity/Sms") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getSmsCode(); |
| | | }; |
| | | } |
| | | break; |
| | | } |
| | | throw new IllegalArgumentException("Invalid lambda deserialization"); |
| | | } |
| | | |
| | | public SmsBuilder(SmsProperties smsProperties, ISmsService smsService, BladeRedis bladeRedis) { |
| | | this.smsProperties = smsProperties; |
| | |
| | | |
| | | public Sms getSms(String tenantId, String code) { |
| | | String key = tenantId; |
| | | LambdaQueryWrapper<Sms> lqw = Wrappers.<Sms>query().lambda().eq(Sms::getTenantId, tenantId); |
| | | /* |
| | | LambdaQueryWrapper<Sms> lqw = (LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> { |
| | | return v0.getTenantId(); |
| | | }, tenantId); |
| | | }, tenantId);*/ |
| | | String smsCode = StringUtil.isBlank(code) ? WebUtil.getParameter("code") : code; |
| | | if (StringUtil.isNotBlank(smsCode)) { |
| | | key = key.concat("-").concat(smsCode); |
| | |
| | | }, Integer.valueOf(SmsStatusEnum.ENABLE.getNum())); |
| | | } |
| | | Sms sms = (Sms) CacheUtil.get("blade:resource", SMS_CODE, key, () -> { |
| | | Sms s = (Sms) this.smsService.getOne(lqw); |
| | | Sms s = this.smsService.getOne(lqw); |
| | | if (Func.isEmpty(s)) { |
| | | Sms defaultSms = new Sms(); |
| | | defaultSms.setId(BladeConstant.TOP_PARENT_ID); |