From dcdb0231034810232f2542f3865666ebf72daf11 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 30 四月 2025 16:45:34 +0800
Subject: [PATCH] sf

---
 server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index d9abcaa..2bc2874 100644
--- a/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -3,6 +3,7 @@
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.system.dto.LoginDTO;
 import com.doumee.dao.system.model.SystemLoginLog;
@@ -20,6 +21,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
+import java.util.Objects;
 
 @Slf4j
 @Service
@@ -27,6 +29,8 @@
 
     @Value("${project.version}")
     private String systemVersion;
+    @Value("${captcha_check}")
+    private boolean captchaCheck;
 
     @Autowired
     private CaptchaService captchaService;
@@ -35,7 +39,7 @@
     private SystemLoginLogService systemLoginLogService;
 
     @Override
-    public String loginByPassword(LoginDTO dto, HttpServletRequest request) {
+    public String loginByPassword(LoginDTO dto, int type,HttpServletRequest request) {
         SystemLoginLog loginLog = new SystemLoginLog();
         loginLog.setLoginUsername(dto.getUsername());
         loginLog.setLoginTime(new Date());
@@ -47,14 +51,18 @@
         loginLog.setOsInfo(Utils.User_Client.getOS(request));
         loginLog.setServerIp(Utils.Server.getIP());
         // 鏍¢獙楠岃瘉鐮�
-        try {
-            captchaService.check(dto.getUuid(), dto.getCode());
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-            loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
-            loginLog.setSuccess(Boolean.FALSE);
-            systemLoginLogService.create(loginLog);
-            throw e;
+        if(type!= Constants.TWO){
+            try {
+                if(captchaCheck){
+                    captchaService.check(dto.getUuid(), dto.getCode());
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
+                loginLog.setSuccess(Boolean.FALSE);
+                systemLoginLogService.create(loginLog);
+                throw e;
+            }
         }
         // 鏍¢獙鐢ㄦ埛鍚嶅拰瀵嗙爜
         Subject subject = SecurityUtils.getSubject();
@@ -70,7 +78,7 @@
             loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
             loginLog.setSuccess(Boolean.FALSE);
             systemLoginLogService.create(loginLog);
-            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
+            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT.getCode(), Objects.isNull(e.getCause())?ResponseStatus.ACCOUNT_INCORRECT.getMessage():e.getCause().getMessage());
         }
     }
 }

--
Gitblit v1.9.3