From 832e40a8249ae15a5b2a7f01c78da4edc06cd55e Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 13 十月 2025 15:54:57 +0800
Subject: [PATCH] 定时自动叫号 与 WMS获取车辆是否在园接口开发

---
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java |   64 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 9 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 f0c5d38..5334a12 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
@@ -155,9 +155,20 @@
                 throw e;
             }
         }
-        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
-        systemLoginLogService.create(loginLog);
-        return  user;
+        try {
+            LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),dto.getDdUnionId(),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) {
@@ -175,7 +186,7 @@
                 throw e;
             }
         }
-        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
+        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),dto.getDdUnionId(),request);
         systemLoginLogService.create(loginLog);
         return  user;
     }
@@ -191,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;
@@ -200,11 +212,22 @@
     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(),dto.getDdUnionId(), 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) {
+    private LoginUserInfo dealLoginByPwdNewBiz(String username,String pwd, String phone, String openid, String ddUnionId, ServerHttpRequest request) {
         // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
         SystemUser queryDto = new SystemUser();
         queryDto.setMobile(phone);
@@ -225,7 +248,12 @@
                 throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
             }
         }
-        dealOpenIdBiz(user,openid);
+        if(StringUtils.isNotBlank(openid)){
+            dealOpenIdBiz(user,openid);
+        }
+        if(StringUtils.isNotBlank(ddUnionId)){
+            dealDDUnionIdBiz(user,ddUnionId);
+        }
         Company company = new Company();
         if(Objects.nonNull(user.getCompanyId())){
             company = companyMapper.selectById(user.getCompanyId());
@@ -297,6 +325,24 @@
                     .eq(SystemUser::getId,user.getId()));
         }
     }
+
+    private void dealDDUnionIdBiz(SystemUser user, String ddUnionId) {
+        if(StringUtils.isNotBlank(ddUnionId)){
+            //濡傛灉openId涓嶄负绌�,缁戝畾璇ョ敤鎴穙penid
+            systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+                    .set(SystemUser::getDdUnionId,null)
+                    .set(SystemUser::getOpenidHkStatus,Constants.ZERO)
+                    .ne(SystemUser::getType,Constants.memberType.gkuser)
+                    .eq(SystemUser::getDdUnionId,ddUnionId)
+            );
+            systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+                    .set(SystemUser::getDdUnionId,ddUnionId)
+                    .set(SystemUser::getOpenidHkStatus,Constants.ZERO)
+                    .set(SystemUser::getOpenidHkDate,null)
+                    .set(SystemUser::getOpenidHkInfo,null)
+                    .eq(SystemUser::getId,user.getId()));
+        }
+    }
     private void dealOpenIdBizForGk(SystemUser user, String openid) {
         if(StringUtils.isNotBlank(openid)){
             //濡傛灉openId涓嶄负绌�,缁戝畾璇ョ敤鎴穙penid

--
Gitblit v1.9.3