From f8ab5663ef7220f8adc0fd8fcbd7d0cf84c6d77d Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 02 八月 2021 12:15:14 +0800
Subject: [PATCH] update 日常字符串校验 统一重构到 StringUtils 便于维护扩展

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
index 28be0fe..fb2fb20 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -8,23 +8,26 @@
 import cn.hutool.captcha.generator.RandomGenerator;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.framework.captcha.UnsignedMathGenerator;
 import com.ruoyi.framework.config.properties.CaptchaProperties;
+import com.ruoyi.system.service.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 /**
  * 楠岃瘉鐮佹搷浣滃鐞�
  *
- * @author Lion Li
+ * @author ruoyi
  */
 @RestController
 public class CaptchaController {
@@ -45,11 +48,20 @@
 	@Autowired
 	private CaptchaProperties captchaProperties;
 
+	@Autowired
+	private ISysConfigService configService;
+
 	/**
 	 * 鐢熸垚楠岃瘉鐮�
 	 */
 	@GetMapping("/captchaImage")
 	public AjaxResult getCode() {
+		Map<String, Object> ajax = new HashMap<>();
+		boolean captchaOnOff = configService.selectCaptchaOnOff();
+		ajax.put("captchaOnOff", captchaOnOff);
+		if (!captchaOnOff) {
+			return AjaxResult.success(ajax);
+		}
 		// 淇濆瓨楠岃瘉鐮佷俊鎭�
 		String uuid = IdUtil.simpleUUID();
 		String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
@@ -88,17 +100,16 @@
 			code = captcha.getCode();
 		}
 		redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
-		AjaxResult ajax = AjaxResult.success();
 		ajax.put("uuid", uuid);
 		ajax.put("img", captcha.getImageBase64());
-		return ajax;
+		return AjaxResult.success(ajax);
 	}
 
 	private String getCodeResult(String capStr) {
 		int numberLength = captchaProperties.getNumberLength();
-		int a = Convert.toInt(StrUtil.sub(capStr, 0, numberLength).trim());
+		int a = Convert.toInt(StringUtils.sub(capStr, 0, numberLength).trim());
 		char operator = capStr.charAt(numberLength);
-		int b = Convert.toInt(StrUtil.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());
+		int b = Convert.toInt(StringUtils.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());
 		switch (operator) {
 			case '*':
 				return a * b + "";

--
Gitblit v1.9.3