From 6525935588f4b9a06e08f91dfc9d2895e5ec2c38 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 11:00:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 50 insertions(+), 5 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 0fdc117..722ef3e 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.LoginCabinetDTO;
import com.doumee.dao.system.dto.LoginH5DTO;
import com.doumee.service.business.third.TmsService;
import com.doumee.service.business.third.model.LoginUserInfo;
@@ -156,7 +157,7 @@
}
}
try {
- 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;
}catch (BusinessException e){
@@ -170,6 +171,27 @@
throw e;
}
}
+
+ @Override
+ public LoginUserInfo loginByPasswordForCabinet(LoginCabinetDTO dto, ServerHttpRequest request) {
+ SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request);
+ try {
+ LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,null,null,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);
@@ -186,7 +208,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;
}
@@ -213,7 +235,7 @@
isCaptcheValide(dto.getPhone(),dto.getCode());//妫�鏌ラ獙璇佺爜
SystemLoginLog loginLog = getInitLoginlog(dto.getPhone(),request);
try{
- LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(), request );
+ LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(),dto.getDdUnionId(), request );
systemLoginLogService.create(loginLog);
return userInfo;
}catch (BusinessException e){
@@ -227,7 +249,7 @@
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);
@@ -248,7 +270,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());
@@ -320,6 +347,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