From c92ef51676efa03d41c1cf7b94f4077d58a7babd Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 21 四月 2025 14:25:29 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 181 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 166 insertions(+), 15 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 306647d..89a00d9 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,17 +10,15 @@ 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.ManagersMapper; import com.doumee.dao.business.MemberMapper; -import com.doumee.dao.business.model.Company; -import com.doumee.dao.business.model.CompanyMember; -import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.*; 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 +37,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 浜哄憳淇℃伅琛⊿ervice瀹炵幇 @@ -56,6 +55,8 @@ private CompanyMapper companyMapper; @Autowired private CompanyMemberMapper companyMemberMapper; + @Autowired + private ManagersMapper managersMapper; @Override public Integer create(Member member) { @@ -84,7 +85,19 @@ @Override public void updateById(Member member) { - memberMapper.updateById(member); + if( member.getId() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + memberMapper.update(null,new UpdateWrapper<Member>().lambda() + .eq(Member::getId,member.getId() ) + .set(Member::getSex,member.getSex() ) + .set(Member::getPhone,member.getPhone() ) + .set(Member::getRemark,member.getRemark() ) + .set(Member::getEmail,member.getEmail() ) + .set(Member::getEditDate,new Date()) + .set(Member::getEditor,user.getId()) + ); } @Override @@ -109,9 +122,53 @@ } @Override - public List<Member> findList(Member member) { - QueryWrapper<Member> wrapper = new QueryWrapper<>(member); - return memberMapper.selectList(wrapper); + public List<Member> findList(Member pageWrap) { + pageWrap.setIsdeleted(Constants.ZERO); + MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper. selectAll(Member.class) + .selectAs(SystemUser::getUsername,Member::getEditorName) + .leftJoin(SystemUser.class,SystemUser::getId,Member::getEditor) + .eq(pageWrap.getId() != null, Member::getId, pageWrap.getId()) + .eq(pageWrap.getCreator() != null, Member::getCreator, pageWrap.getCreator()) + .ge(pageWrap.getCreateDate() != null, Member::getCreateDate, Utils.Date.getStart(pageWrap.getCreateDate())) + .le(pageWrap.getCreateDate() != null, Member::getCreateDate, Utils.Date.getEnd(pageWrap.getCreateDate())) + .eq(pageWrap.getEditor() != null, Member::getEditor, pageWrap.getEditor()) + .ge(pageWrap.getEditDate() != null, Member::getEditDate, Utils.Date.getStart(pageWrap.getEditDate())) + .le(pageWrap.getEditDate() != null, Member::getEditDate, Utils.Date.getEnd(pageWrap.getEditDate())) + .eq(pageWrap.getIsdeleted() != null, Member::getIsdeleted, pageWrap.getIsdeleted()) + .like(pageWrap.getName() != null, Member::getName, pageWrap.getName()) + .eq(pageWrap.getRemark() != null, Member::getRemark, pageWrap.getRemark()) + .eq(pageWrap.getStatus() != null, Member::getStatus, pageWrap.getStatus()) + .eq(pageWrap.getSortnum() != null, Member::getSortnum, pageWrap.getSortnum()) + .eq(pageWrap.getImgurl() != null, Member::getImgurl, pageWrap.getImgurl()) + .eq(pageWrap.getType() != null, Member::getType, pageWrap.getType()) + .eq(pageWrap.getCompanyName() != null, Member::getCompanyName, pageWrap.getCompanyName()) + .eq(pageWrap.getPhone() != null, Member::getPhone, pageWrap.getPhone()) + .eq(pageWrap.getEmail() != null, Member::getEmail, pageWrap.getEmail()) + .eq(pageWrap.getSex() != null, Member::getSex, pageWrap.getSex()) + .eq(pageWrap.getCode() != null, Member::getCode, pageWrap.getCode()) + .eq(pageWrap.getQwId() != null, Member::getQwId, pageWrap.getQwId()) + .eq(pageWrap.getIdcard() != null, Member::getIdcard, pageWrap.getIdcard()) + .ge(pageWrap.getLastLoginDate() != null, Member::getLastLoginDate, Utils.Date.getStart(pageWrap.getLastLoginDate())) + .le(pageWrap.getLastLoginDate() != null, Member::getLastLoginDate, Utils.Date.getEnd(pageWrap.getLastLoginDate())) + .eq(pageWrap.getLoginCount() != null, Member::getLoginCount, pageWrap.getLoginCount()); + if (pageWrap.getKeyword() != null) { + queryWrapper.and( ms->ms.like(Member::getName,pageWrap.getKeyword()) + .or().like(Member::getPhone,pageWrap.getKeyword()) + .or().like(Member::getCompanyName,pageWrap.getKeyword())); + } + if(pageWrap.getIncludeChild()!=null &&pageWrap.getIncludeChild() ){ + if(pageWrap.getCompanyId() !=null){ + //濡傛灉鍖呭惈涓嬬骇缁勭粐 + Company company = companyMapper.selectById(pageWrap.getCompanyId());//鏌ヨ缁勭粐淇℃伅 + queryWrapper.exists("select (cm.id) from company_member cm where cm.company_id_path like '"+company.getIdPath()+"%' and cm.member_id=t.id"); +// queryWrapper.likeRight(Company::getIdPath,company.getIdPath()); + } + }else{ + //涓嶅寘鍚笅绾х粍缁� + queryWrapper.exists(pageWrap.getCompanyId()!=null,"select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getCompanyId()+"' and cm.member_id=t.id"); + } + return memberMapper.selectJoinList(Member.class,queryWrapper); } @Override @@ -137,7 +194,7 @@ .eq(pageWrap.getModel().getSortnum() != null, Member::getSortnum, pageWrap.getModel().getSortnum()) .eq(pageWrap.getModel().getImgurl() != null, Member::getImgurl, pageWrap.getModel().getImgurl()) .eq(pageWrap.getModel().getType() != null, Member::getType, pageWrap.getModel().getType()) -// .eq(pageWrap.getModel().getCompanyId() != null, Member::getCompanyId, pageWrap.getModel().getCompanyId()) + .eq(pageWrap.getModel().getCompanyName() != null, Member::getCompanyName, pageWrap.getModel().getCompanyName()) .eq(pageWrap.getModel().getPhone() != null, Member::getPhone, pageWrap.getModel().getPhone()) .eq(pageWrap.getModel().getEmail() != null, Member::getEmail, pageWrap.getModel().getEmail()) .eq(pageWrap.getModel().getSex() != null, Member::getSex, pageWrap.getModel().getSex()) @@ -161,10 +218,23 @@ } }else{ //涓嶅寘鍚笅绾х粍缁� - queryWrapper.exists("select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getModel().getCompanyId()+"' and cm.member_id=t.id"); + queryWrapper.exists(pageWrap.getModel().getCompanyId()!=null,"select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getModel().getCompanyId()+"' and cm.member_id=t.id"); } + + if(Objects.nonNull(pageWrap.getModel().getIsSendCopy())&&Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getIsSendCopy())){ + queryWrapper.apply(" t.id in ( select MEMBER_ID from managers where ISDELETED= 0 and STATUS = 0 and TYPE = 1 ) "); + } + queryWrapper.orderByAsc(Member::getCreateDate); - return PageData.from(memberMapper.selectJoinPage(page,Member.class, queryWrapper)); + PageData<Member> record = PageData.from(memberMapper.selectJoinPage(page,Member.class, queryWrapper)); + if(record!=null && record.getRecords()!=null){ + for(Member m : record.getRecords()){ + if(StringUtils.isNotBlank(m.getCompanyName())){ + m.setCompanyNameList(m.getCompanyName().split(",")); + } + } + } + return record; } @Override @@ -234,7 +304,7 @@ if(StringUtils.isNotBlank(comNames)){ comNames += ","; } - comNames += c.getName(); + comNames += c.getNamePath(); } } cm.setCompanyList(qycom); @@ -358,4 +428,85 @@ 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(); +// String qwId = dto.getCode(); + 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); + } + //鏌ヨ鏄惁鏈夋潈闄� + member.setDcaButton(managersMapper.selectCount(new QueryWrapper<Managers>().lambda() + .eq(Managers::getIsdeleted,Constants.ZERO).eq(Managers::getMemberId,member.getId()) + .eq(Managers::getType,Constants.TWO))>Constants.ZERO?Constants.ONE:Constants.ZERO); + 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