From 030f7971cee2aa77408678f51b2f11e1a451fbb7 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 18:26:22 +0800 Subject: [PATCH] 钉钉通知 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 79 insertions(+), 16 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..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 @@ -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,7 +155,38 @@ throw e; } } - LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request); + 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) { + 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(),dto.getDdUnionId(),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,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); @@ -204,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()); @@ -265,11 +314,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) @@ -356,7 +423,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 +454,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 +588,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