From 7666113e060747cce6be99e0deb68485b4283161 Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期一, 20 十月 2025 10:38:41 +0800 Subject: [PATCH] 钥匙柜 电信大屏 配置文件 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 82 insertions(+), 14 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 527883a..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; @@ -155,10 +156,42 @@ 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 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); @@ -175,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; } @@ -191,6 +224,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 +234,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 +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()); @@ -286,11 +336,29 @@ .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) + .set(SystemUser::getOpenidHkStatus,Constants.ZERO) + .set(SystemUser::getOpenidHkDate,null) + .set(SystemUser::getOpenidHkInfo,null) + .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) @@ -408,15 +476,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()); -- Gitblit v1.9.3