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