From 2ebcffb22ef17421b322e58a0f2b96388a4d83cd Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 17 五月 2021 13:39:59 +0800
Subject: [PATCH] update 配置统一提取为 properties 配置类

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java |   29 ++++++++++-------------------
 1 files changed, 10 insertions(+), 19 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 48e4e4e..c01cc4e 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
@@ -13,8 +13,8 @@
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.framework.config.properties.CaptchaProperties;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -42,18 +42,8 @@
 	@Autowired
 	private RedisCache redisCache;
 
-	// 楠岃瘉鐮佺被鍨�
-	@Value("${captcha.captchaType}")
-	private String captchaType;
-	// 楠岃瘉鐮佺被鍒�
-	@Value("${captcha.captchaCategory}")
-	private String captchaCategory;
-	// 鏁板瓧楠岃瘉鐮佷綅鏁�
-	@Value("${captcha.captchaNumberLength}")
-	private int numberLength;
-	// 瀛楃楠岃瘉鐮侀暱搴�
-	@Value("${captcha.captchaCharLength}")
-	private int charLength;
+	@Autowired
+	private CaptchaProperties captchaProperties;
 
 	/**
 	 * 鐢熸垚楠岃瘉鐮�
@@ -67,17 +57,17 @@
 		// 鐢熸垚楠岃瘉鐮�
 		CodeGenerator codeGenerator;
 		AbstractCaptcha captcha;
-		switch (captchaType) {
+		switch (captchaProperties.getType()) {
 			case "math":
-				codeGenerator = new MathGenerator(numberLength);
+				codeGenerator = new MathGenerator(captchaProperties.getNumberLength());
 				break;
 			case "char":
-				codeGenerator = new RandomGenerator(charLength);
+				codeGenerator = new RandomGenerator(captchaProperties.getCharLength());
 				break;
 			default:
 				throw new IllegalArgumentException("楠岃瘉鐮佺被鍨嬪紓甯�");
 		}
-		switch (captchaCategory) {
+		switch (captchaProperties.getCategory()) {
 			case "line":
 				captcha = lineCaptcha;
 				break;
@@ -92,9 +82,9 @@
 		}
 		captcha.setGenerator(codeGenerator);
 		captcha.createCode();
-		if ("math".equals(captchaType)) {
+		if ("math".equals(captchaProperties.getType())) {
 			code = getCodeResult(captcha.getCode());
-		} else if ("char".equals(captchaType)) {
+		} else if ("char".equals(captchaProperties.getType())) {
 			code = captcha.getCode();
 		}
 		redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
@@ -105,6 +95,7 @@
 	}
 
 	private String getCodeResult(String capStr) {
+		int numberLength = captchaProperties.getNumberLength();
 		int a = Convert.toInt(StrUtil.sub(capStr, 0, numberLength).trim());
 		char operator = capStr.charAt(numberLength);
 		int b = Convert.toInt(StrUtil.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());

--
Gitblit v1.9.3