diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/sms/helper/VerifyCodeCheckHelper.java b/pmapi/src/main/java/com/ningdatech/pmapi/sms/helper/VerifyCodeCheckHelper.java new file mode 100644 index 0000000..c1a5034 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/sms/helper/VerifyCodeCheckHelper.java @@ -0,0 +1,43 @@ +package com.ningdatech.pmapi.sms.helper; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.ningdatech.cache.repository.CachePlusOps; +import com.ningdatech.pmapi.sms.constant.VerificationCodeType; +import com.ningdatech.pmapi.sms.model.dto.VerifyCodeCacheDTO; +import com.ningdatech.pmapi.sms.utils.SmsRedisKeyUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +/** + * @author liuxinxin + * @date 2022/8/16 上午11:43 + */ +@Component +@RequiredArgsConstructor +public class VerifyCodeCheckHelper { + + private final CachePlusOps cachePlusOps; + + /** + * 对某种类型的验证码进行校验 + * @param type + * @param mobile + * @param verificationCode + * @return + */ + public boolean verification(VerificationCodeType type, String mobile, String verificationCode) { + if (StringUtils.isBlank(mobile) || Objects.isNull(type)) { + return false; + } + String key = SmsRedisKeyUtils.smsCodeVerifyKey(type, mobile); + Object cacheObj = cachePlusOps.get(key); + if (Objects.isNull(cacheObj)) { + return false; + } + VerifyCodeCacheDTO cache = (VerifyCodeCacheDTO) cacheObj; + return verificationCode.trim().equals(cache.getCode()); + } + +}