From 80f9adf3f7682edf1d997f48c65a9bac2e4c1605 Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期日, 28 九月 2025 15:25:42 +0800 Subject: [PATCH] 钉钉授权 与 通知开发 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 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..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 @@ -156,7 +156,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){ @@ -186,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; } @@ -213,7 +213,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 +227,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 +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()); @@ -320,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