From bd732b4fea72b65aabade0dfb14ddb1346ad3f8f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 19 九月 2023 12:39:12 +0800
Subject: [PATCH] sessionkey更换

---
 server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java |   29 +++++++++++++++++++----------
 1 files changed, 19 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..b41579c 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
@@ -1,8 +1,10 @@
 package com.doumee.service.system.impl;
 
+import com.baomidou.mybatisplus.extension.api.R;
 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 +22,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
+import java.util.Objects;
 
 @Slf4j
 @Service
@@ -27,6 +30,8 @@
 
     @Value("${project.version}")
     private String systemVersion;
+    @Value("${captcha_check}")
+    private boolean captchaCheck;
 
     @Autowired
     private CaptchaService captchaService;
@@ -35,7 +40,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 +52,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 +79,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