From 9f7777c83f2d07c8d83c506ab2a13bc543f47de9 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 10 四月 2025 11:08:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 84 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index b35e7e0..051b031 100644 --- a/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -10,10 +10,7 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.core.utils.qiyeweixin.QywxUtil; -import com.doumee.core.utils.qiyeweixin.model.response.QywxDepartInfoResponse; -import com.doumee.core.utils.qiyeweixin.model.response.QywxUserAttrInfoResponse; -import com.doumee.core.utils.qiyeweixin.model.response.QywxUserExtAttrResponse; -import com.doumee.core.utils.qiyeweixin.model.response.QywxUserListResponse; +import com.doumee.core.utils.qiyeweixin.model.response.*; import com.doumee.dao.business.CompanyMapper; import com.doumee.dao.business.CompanyMemberMapper; import com.doumee.dao.business.MemberMapper; @@ -21,6 +18,8 @@ import com.doumee.dao.business.model.CompanyMember; import com.doumee.dao.business.model.Member; import com.doumee.dao.system.model.SystemUser; +import com.doumee.dao.web.dto.LoginH5DTO; +import com.doumee.dao.web.dto.UpdEmailDTO; import com.doumee.service.business.MemberService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -39,6 +38,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 浜哄憳淇℃伅琛⊿ervice瀹炵幇 @@ -402,4 +402,80 @@ return null; } + @Override + public Member getUserInfo(LoginH5DTO dto){ + if(Objects.isNull(dto)|| + StringUtils.isBlank(dto.getCode())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + String token = systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(); + //鏍规嵁code鎹㈠尯浼佷笟寰俊ID + QywxBaseResponse<String> qwIdBaseResponse= QywxUtil.getUserInfoByCode(token,dto.getCode()); + if(Objects.isNull(qwIdBaseResponse)||Objects.isNull(qwIdBaseResponse.getErrcode())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鐧诲綍鐮佽В鏋愬け璐ワ紝璇疯仈绯荤鐞嗗憳"); + } + if(Constants.equalsInteger(qwIdBaseResponse.getErrcode(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鐧诲綍澶辫触锛�"+qwIdBaseResponse.getErrmsg()); + } + if(Objects.isNull(qwIdBaseResponse.getData())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鐢ㄦ埛淇℃伅瑙f瀽澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + String qwId = qwIdBaseResponse.getData(); + Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getQwId,qwId).eq(Member::getIsdeleted,Constants.ZERO).last(" limit 1 ")); + if(Objects.isNull(member)){ + //鏍规嵁浼佷笟寰俊ID 鏌ヨ鐢ㄦ埛淇℃伅 + QywxUserInfoResponse qywxUserInfoResponse = QywxUtil.getUserInfo(token,qwId); + if(Objects.isNull(qywxUserInfoResponse)||Objects.isNull(qywxUserInfoResponse.getErrcode())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鑾峰彇鐢ㄦ埛淇℃伅瑙f瀽澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + if(Constants.equalsInteger(qywxUserInfoResponse.getErrcode(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛�"+qwIdBaseResponse.getErrmsg()); + } + member = new Member(); + member.setCreateDate(new Date()); + member.setStatus(Constants.ZERO); + member.setIsdeleted(Constants.ZERO); + member.setName(StringUtils.isNotBlank(qywxUserInfoResponse.getName())?qywxUserInfoResponse.getName():null); + member.setImgurl(StringUtils.isNotBlank(qywxUserInfoResponse.getAvatar())?qywxUserInfoResponse.getAvatar():null); + member.setPhone(StringUtils.isNotBlank(qywxUserInfoResponse.getMobile())?qywxUserInfoResponse.getMobile():null); + member.setQwId(qwId); + memberMapper.insert(member); + } + return member; + } + + + + @Override + public void updEmail(UpdEmailDTO updEmailDTO){ + if(Objects.isNull(updEmailDTO) + || StringUtils.isBlank(updEmailDTO.getEmail()) + || Objects.isNull(updEmailDTO.getUserId())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectById(updEmailDTO.getUserId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鐢ㄦ埛淇℃伅寮傚父"); + } + memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getEmail,updEmailDTO.getEmail()).eq(Member::getId,member.getId())); + } + + + @Override + public Member checkUserValid(Member member){ + if(Objects.isNull(member)||Objects.isNull(member.getId())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈夋晥鐢ㄦ埛淇℃伅"); + } + Member dbMember = memberMapper.selectById(member.getId()); + if(Objects.isNull(dbMember)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛宸叉敞閿�"); + } + if(!Constants.equalsInteger(dbMember.getIsdeleted(),Constants.ZERO)||!Constants.equalsInteger(dbMember.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛宸茬鐢�"); + } + return dbMember; + } + + + } -- Gitblit v1.9.3