From 56364722d3ed70d48ec41f567a4e59e5ccbbb868 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 19 五月 2022 17:45:42 +0800
Subject: [PATCH] 增加权限管理

---
 src/main/resources/code/service/app/src/main/java/com/ks/app/service/manager/VerifyCodeManager.java |   40 ++++++++++++++++++++++++++++------------
 1 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/src/main/resources/code/service/app/src/main/java/com/ks/app/service/manager/VerifyCodeManager.java b/src/main/resources/code/service/app/src/main/java/com/ks/app/service/manager/VerifyCodeManager.java
index 99d28c6..1af27cc 100644
--- a/src/main/resources/code/service/app/src/main/java/com/ks/app/service/manager/VerifyCodeManager.java
+++ b/src/main/resources/code/service/app/src/main/java/com/ks/app/service/manager/VerifyCodeManager.java
@@ -1,11 +1,12 @@
 package com.ks.app.service.manager;
 
+import com.ks.app.entity.SystemEnum;
+import com.ks.app.entity.config.SystemConfigKey;
+import com.ks.app.service.inter.config.SystemConfigService;
+import com.ks.app.utils.Constant;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
-import org.yeshi.utils.NumberUtil;
 import org.yeshi.utils.StringUtil;
-import org.yeshi.utils.sms.TencentSMSUtil;
-import org.yeshi.utils.sms.VerifyCodeFactory;
 
 import javax.annotation.Resource;
 import java.util.concurrent.TimeUnit;
@@ -21,6 +22,10 @@
     @Resource
     private RedisTemplate<String, String> redisTemplate;
 
+
+    @Resource
+    private SystemConfigService systemConfigService;
+
     /**
      * @return void
      * @author hxh
@@ -29,9 +34,9 @@
      * @param: phone
      * @param: msg 鍙橀噺涓�:{楠岃瘉鐮亇
      **/
-    public void sendSMSSuccess(String phone, String code) {
+    public void sendSMSSuccess(SystemEnum system, String phone, String code) {
 
-        redisTemplate.opsForValue().set("v-c-p-" + phone, code, 120, TimeUnit.SECONDS);
+        redisTemplate.opsForValue().set(String.format("vcp-%s-%s", system.name(), phone), code, 120, TimeUnit.SECONDS);
 
     }
 
@@ -57,8 +62,21 @@
      * @param: phone
      * @param: code
      **/
-    public boolean isPhoneCodeRight(String phone, String code) {
-        String oldCode = redisTemplate.opsForValue().get("v-c-p-" + phone);
+    public boolean isPhoneCodeRight(SystemEnum system, String phone, String code) {
+        if (!Constant.VERIFY_VCODE) {
+            return true;
+        }
+        String value = systemConfigService.getValueCache(system, SystemConfigKey.testAccount);
+        //娴嬭瘯璐﹀彿
+        if (!StringUtil.isNullOrEmpty(value)) {
+            String[] sts = value.split("#");
+            if (sts.length > 1 && sts[0].equalsIgnoreCase(phone) && sts[1].equalsIgnoreCase(code)) {
+                return true;
+            }
+        }
+
+
+        String oldCode = redisTemplate.opsForValue().get(String.format("vcp-%s-%s", system.name(), phone));
         return oldCode != null && oldCode.equalsIgnoreCase(code);
     }
 
@@ -71,9 +89,7 @@
      * @param: code
      **/
     public boolean isEMailCodeRight(String email, String code) {
-        String oldCode = redisTemplate.opsForValue().get("v-c-e-" + StringUtil.Md5(email));
-        return oldCode != null && oldCode.equalsIgnoreCase(code);
+        Object oldCode = redisTemplate.opsForValue().get("v-c-e-" + StringUtil.Md5(email));
+        return oldCode != null && oldCode.toString().equalsIgnoreCase(code);
     }
-
-
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0