From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 九月 2025 18:43:14 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java |   66 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 13 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index b4adca4..0fdc117 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -5,6 +5,7 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.config.jwt.JwtTokenUtil;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.system.dto.LoginH5DTO;
 import com.doumee.service.business.third.TmsService;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.core.constants.ResponseStatus;
@@ -154,6 +155,37 @@
                 throw e;
             }
         }
+        try {
+            LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
+            systemLoginLogService.create(loginLog);
+            return  user;
+        }catch (BusinessException e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+
+        }catch (Exception e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+        }
+    }
+    @Override
+    public LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request) {
+        SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request);
+
+        if((isDebug == null  || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){
+            // 鏍¢獙楠岃瘉鐮�
+            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;
+            }
+        }
         LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
         systemLoginLogService.create(loginLog);
         return  user;
@@ -170,6 +202,7 @@
             loginLog.setPlatform(Utils.User_Client.getPlatform(request));
             loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
             loginLog.setOsInfo(Utils.User_Client.getOS(request));
+            loginLog.setSuccess(Boolean.TRUE);
         }
         loginLog.setServerIp(Utils.Server.getIP());
         return  loginLog;
@@ -179,9 +212,20 @@
     public LoginUserInfo loginH5ByPhone(LoginPhoneDTO dto, ServerHttpRequest request) {
         isCaptcheValide(dto.getPhone(),dto.getCode());//妫�鏌ラ獙璇佺爜
         SystemLoginLog loginLog = getInitLoginlog(dto.getPhone(),request);
-        LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(), request );
-        systemLoginLogService.create(loginLog);
-        return userInfo;
+        try{
+            LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(), request );
+            systemLoginLogService.create(loginLog);
+            return userInfo;
+        }catch (BusinessException e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+
+        }catch (Exception e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+        }
     }
     private LoginUserInfo dealLoginByPwdNewBiz(String username,String pwd, String phone, String openid, ServerHttpRequest request) {
         // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
@@ -265,8 +309,8 @@
                     .set(SystemUser::getOpenidHkDate,null)
                     .set(SystemUser::getOpenidHkInfo,null)
                     .set(SystemUser::getOpenidHkStatus,Constants.ZERO)
+                    .ne(SystemUser::getType,Constants.memberType.gkuser)
                     .eq(SystemUser::getOpenid,openid)
-//                    .eq(SystemUser::getType,user.getType())
             );
             systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
                     .set(SystemUser::getOpenid,openid)
@@ -356,7 +400,7 @@
 
 
     @Override
-    public LoginUserInfo driverLogin(LoginDTO dto, ServerHttpRequest request) {
+    public LoginUserInfo driverLogin(LoginH5DTO dto, ServerHttpRequest request) {
         SystemLoginLog loginLog =getInitLoginlog(dto.getUsername(),request);
         LoginUserInfo userInfo = dealLoginDriverBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid());
         systemLoginLogService.create(loginLog);
@@ -387,15 +431,15 @@
                 && Objects.nonNull(user.getMemberId())){
             if(Constants.equalsInteger(user.getType(),Constants.TWO)){
                 if(Objects.isNull(user.getCompanyId())){
-                    throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
+                    throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN.getCode(),"瀵逛笉璧凤紝璇ヨ处鍙蜂笉鑳界櫥褰曞徃鏈虹鍝");
                 }
-                Company company = companyMapper.selectById(user.getCompanyId());
+             /*   Company company = companyMapper.selectById(user.getCompanyId());
                 if(Objects.isNull(company) || Constants.equalsInteger(company.getType(),Constants.ONE)){
                     throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
-                }
+                }*/
             }
         }else{
-            throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
+            throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN.getCode(),"瀵逛笉璧凤紝璇ヨ处鍙蜂笉鑳界櫥褰曞徃鏈虹鍝︼紒");
         }
         if(StringUtils.isNotBlank(password)){
             String pwd = Utils.Secure.encryptPassword(new String(password), user.getSalt());
@@ -521,10 +565,6 @@
         if (systemUser == null) {
             //鏂板绠℃帶浜哄憳鏁版嵁
             systemUser = systemUser = autoRegisterUser(Constants.memberType.gkuser,param.getPhone(),param.getOpenid(),false);
-        }else{
-            if(!Constants.equalsInteger(systemUser.getType(),Constants.memberType.gkuser)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇蜂娇鐢ㄦ纭殑绠℃帶浜哄憳鎵嬫満鍙风櫥闄嗭紒");
-            }
         }
         dealOpenIdBizForGk(systemUser,param.getOpenid());
         LoginUserInfo userInfo = LoginUserInfo.from(systemUser, null, null,null,null);

--
Gitblit v1.9.3