Bläddra i källkod

DeBugDeBugDeBug

buzhanyi 2 år sedan
förälder
incheckning
65bd0d2edd

+ 90 - 97
purchase-admin/src/main/java/com/ozs/web/controller/common/CaptchaController.java

@@ -1,97 +1,90 @@
-//package com.ozs.web.controller.common;
-//
-//import java.awt.image.BufferedImage;
-//import java.io.IOException;
-//import java.util.concurrent.TimeUnit;
-//import javax.annotation.Resource;
-//import javax.imageio.ImageIO;
-//import javax.servlet.http.HttpServletResponse;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.util.FastByteArrayOutputStream;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//import com.google.code.kaptcha.Producer;
-//import com.ozs.common.config.PurchaseConfig;
-//import com.ozs.common.constant.CacheConstants;
-//import com.ozs.common.constant.Constants;
-//import com.ozs.common.core.domain.AjaxResult;
-//import com.ozs.common.core.redis.RedisCache;
-//import com.ozs.common.utils.sign.Base64;
-//import com.ozs.common.utils.uuid.IdUtils;
-//import com.ozs.system.service.ISysConfigService;
-//
-///**
-// * 验证码操作处理
-// *
-// * @author ruoyi
-// */
-//@RestController
-//public class CaptchaController
-//{
-//    @Resource(name = "captchaProducer")
-//    private Producer captchaProducer;
-//
-//    @Resource(name = "captchaProducerMath")
-//    private Producer captchaProducerMath;
-//
-//    @Autowired
-//    private RedisCache redisCache;
-//
-//    @Autowired
-//    private PurchaseConfig purchaseConfig;
-//
-//    @Autowired
-//    private ISysConfigService configService;
-//    /**
-//     * 生成验证码
-//     */
-//    @GetMapping("/captchaImage")
-//    public AjaxResult getCode(HttpServletResponse response) throws IOException
-//    {
-//        AjaxResult ajax = AjaxResult.success();
-//        boolean captchaEnabled = configService.selectCaptchaEnabled();
-//        ajax.put("captchaEnabled", captchaEnabled);
-//        if (!captchaEnabled)
-//        {
-//            return ajax;
-//        }
-//
-//        // 保存验证码信息
-//        String uuid = IdUtils.simpleUUID();
-//        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
-//
-//        String capStr = null, code = null;
-//        BufferedImage image = null;
-//
-//        // 生成验证码
-//        String captchaType = purchaseConfig.getCaptchaType();
-//        if ("math".equals(captchaType))
-//        {
-//            String capText = captchaProducerMath.createText();
-//            capStr = capText.substring(0, capText.lastIndexOf("@"));
-//            code = capText.substring(capText.lastIndexOf("@") + 1);
-//            image = captchaProducerMath.createImage(capStr);
-//        }
-//        else if ("char".equals(captchaType))
-//        {
-//            capStr = code = captchaProducer.createText();
-//            image = captchaProducer.createImage(capStr);
-//        }
-//
-//        redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
-//        // 转换流信息写出
-//        FastByteArrayOutputStream os = new FastByteArrayOutputStream();
-//        try
-//        {
-//            ImageIO.write(image, "jpg", os);
-//        }
-//        catch (IOException e)
-//        {
-//            return AjaxResult.error(e.getMessage());
-//        }
-//
-//        ajax.put("uuid", uuid);
-//        ajax.put("img", Base64.encode(os.toByteArray()));
-//        return ajax;
-//    }
-//}
+package com.ozs.web.controller.common;
+
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.FastByteArrayOutputStream;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.google.code.kaptcha.Producer;
+import com.ozs.common.config.PurchaseConfig;
+import com.ozs.common.constant.CacheConstants;
+import com.ozs.common.constant.Constants;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.redis.RedisCache;
+import com.ozs.common.utils.sign.Base64;
+import com.ozs.common.utils.uuid.IdUtils;
+import com.ozs.system.service.ISysConfigService;
+
+/**
+ * 验证码操作处理
+ *
+ * @author ruoyi
+ */
+@RestController
+public class CaptchaController {
+    @Resource(name = "captchaProducer")
+    private Producer captchaProducer;
+
+    @Resource(name = "captchaProducerMath")
+    private Producer captchaProducerMath;
+
+    @Autowired
+    private RedisCache redisCache;
+
+    @Autowired
+    private PurchaseConfig purchaseConfig;
+
+    @Autowired
+    private ISysConfigService configService;
+
+    /**
+     * 生成验证码
+     */
+    @GetMapping("/captchaImage")
+    public AjaxResult getCode(HttpServletResponse response) throws IOException {
+        AjaxResult ajax = AjaxResult.success();
+        boolean captchaEnabled = configService.selectCaptchaEnabled();
+        ajax.put("captchaEnabled", captchaEnabled);
+        if (!captchaEnabled) {
+            return ajax;
+        }
+
+        // 保存验证码信息
+        String uuid = IdUtils.simpleUUID();
+        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
+
+        String capStr = null, code = null;
+        BufferedImage image = null;
+
+        // 生成验证码
+        String captchaType = purchaseConfig.getCaptchaType();
+        if ("math".equals(captchaType)) {
+            String capText = captchaProducerMath.createText();
+            capStr = capText.substring(0, capText.lastIndexOf("@"));
+            code = capText.substring(capText.lastIndexOf("@") + 1);
+            image = captchaProducerMath.createImage(capStr);
+        } else if ("char".equals(captchaType)) {
+            capStr = code = captchaProducer.createText();
+            image = captchaProducer.createImage(capStr);
+        }
+
+        redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
+        // 转换流信息写出
+        FastByteArrayOutputStream os = new FastByteArrayOutputStream();
+        try {
+            ImageIO.write(image, "jpg", os);
+        } catch (IOException e) {
+            return AjaxResult.error(e.getMessage());
+        }
+
+        ajax.put("uuid", uuid);
+        ajax.put("img", Base64.encode(os.toByteArray()));
+        return ajax;
+    }
+}