浏览代码

图形验证码

liujc 1 年之前
父节点
当前提交
90f86832f0
共有 15 个文件被更改,包括 52 次插入26 次删除
  1. 3 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/SmsCodeController.java
  2. 2 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/SmsCodeController.java
  3. 2 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SmsCodeController.java
  4. 2 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java
  5. 2 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java
  6. 2 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/SmsCodeController.java
  7. 5 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java
  8. 2 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SmsCodeController.java
  9. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SmsCodeService.java
  10. 21 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SmsCodeServiceImpl.java
  11. 2 2
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SmsCodeController.java
  12. 2 2
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SmsCodeController.java
  13. 2 2
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java
  14. 2 2
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java
  15. 2 2
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/SmsCodeController.java

+ 3 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/SmsCodeController.java

@@ -37,8 +37,9 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM,code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/SmsCodeController.java

@@ -37,8 +37,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.STUDENT);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.STUDENT, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SmsCodeController.java

@@ -37,8 +37,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.TEACHER);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.TEACHER, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java

@@ -37,8 +37,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.TENANT);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.TENANT, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java

@@ -77,8 +77,8 @@ public class TenantInfoController extends BaseController {
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required =
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required =
                     true, dataType = "String")})
                     true, dataType = "String")})
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile, String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM);
+    public Object sendLoginVerifyCode(String mobile, String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/SmsCodeController.java

@@ -37,8 +37,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({@ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String")})
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String")})
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile, String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.WEBSITE);
+    public Object sendLoginVerifyCode(String mobile, String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.WEBSITE, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 5 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -418,4 +418,9 @@ public interface SysConfigConstant {
      * 我的作品默认视频封面图
      * 我的作品默认视频封面图
      */
      */
     String USER_MUSIC_VIDEO_DEFAULT_URL = "user_music_video_default_url";
     String USER_MUSIC_VIDEO_DEFAULT_URL = "user_music_video_default_url";
+
+    /**
+     * sms_send_verify
+     */
+    String SMS_SEND_VERIFY = "sms_send_verify";
 }
 }

+ 2 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SmsCodeController.java

@@ -40,8 +40,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SmsCodeService.java

@@ -17,5 +17,5 @@ public interface SmsCodeService {
 	 * 发送登录验证码
 	 * 发送登录验证码
 	 * @return
 	 * @return
 	 */
 	 */
-	boolean sendValidCode(String mobile, String type, ClientEnum platform) throws Exception;
+	boolean sendValidCode(String mobile, String type, ClientEnum platform, String code) throws Exception;
 }
 }

+ 21 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SmsCodeServiceImpl.java

@@ -10,10 +10,13 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
+import com.yonge.cooleshow.common.security.SecurityConstants;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.List;
 import java.util.List;
@@ -27,6 +30,8 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 	private SysUserFeignService sysUserFeignService;
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	@Autowired
 	private SysConfigService sysConfigService;
 	private SysConfigService sysConfigService;
+    @Autowired
+    private RedisTemplate<String,String> redisTemplate;
 
 
 	@Override
 	@Override
 	public boolean verifyValidCode(String mobile, String authCode, String type) {
 	public boolean verifyValidCode(String mobile, String authCode, String type) {
@@ -52,7 +57,22 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public boolean sendValidCode(String mobile, String type, ClientEnum platform) {
+	public boolean sendValidCode(String mobile, String type, ClientEnum platform, String code) {
+
+        String configValue = sysConfigService.findConfigValue(SysConfigConstant.SMS_SEND_VERIFY);
+        if(StringUtils.isNotEmpty(configValue) && "1".equals(configValue)) {
+            if (StringUtils.isEmpty(mobile) || StringUtils.isEmpty(code)) {
+                throw new BizException("图形验证码错误");
+            }
+            String redisKey = MessageTypeEnum.KAPTCHA_SESSION_KEY + mobile;
+            if (redisTemplate.hasKey(redisKey)) {
+                if (!StringUtils.equalsIgnoreCase(redisTemplate.opsForValue().get(redisKey), code)) {
+                    throw new BizException("图形验证码错误");
+                }
+            } else {
+                throw new BizException("图形验证码错误");
+            }
+        }
 		//SMS_VERIFY_CODE_LOGOFF
 		//SMS_VERIFY_CODE_LOGOFF
 		SysUser sysUser = sysUserFeignService.queryUserByMobile(mobile);
 		SysUser sysUser = sysUserFeignService.queryUserByMobile(mobile);
 		// 修改手机号 有用户了不许修改
 		// 修改手机号 有用户了不许修改

+ 2 - 2
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SmsCodeController.java

@@ -40,8 +40,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.STUDENT);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.STUDENT, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SmsCodeController.java

@@ -40,8 +40,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.TEACHER);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.TEACHER, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java

@@ -37,8 +37,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({  @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.TENANT);
+    public Object sendLoginVerifyCode(String mobile,String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.TENANT, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TenantInfoController.java

@@ -77,8 +77,8 @@ public class TenantInfoController extends BaseController {
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required =
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required =
                     true, dataType = "String")})
                     true, dataType = "String")})
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile, String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM);
+    public Object sendLoginVerifyCode(String mobile, String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.SYSTEM, code);
         return succeed();
         return succeed();
     }
     }
 
 

+ 2 - 2
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/SmsCodeController.java

@@ -37,8 +37,8 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
     @ApiImplicitParams({@ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String")})
             @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required = true, dataType = "String")})
     @PostMapping(value = "/sendSmsCode")
     @PostMapping(value = "/sendSmsCode")
-    public Object sendLoginVerifyCode(String mobile, String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.WEBSITE);
+    public Object sendLoginVerifyCode(String mobile, String type,String code) throws Exception {
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.WEBSITE, code);
         return succeed();
         return succeed();
     }
     }