From b2d360d9113b6955287108ca9e90d76a1f3c1419 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期日, 29 九月 2024 15:05:11 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbomyoujia --- server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java | 86 +++++++++++++++++++++++++++++++++--------- 1 files changed, 67 insertions(+), 19 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java index e4288db..640ec0d 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 瀹㈡埛瀵艰喘鍏宠仈琛⊿ervice瀹炵幇 @@ -182,55 +183,80 @@ request.setPageSize(100); request.setTiming(Constants.ONE+""); request.setCreationDate(date); + this.syncData(request,null); + } + + @Override + @Transactional + public void syncByPhone(Member member) { + if(member ==null){ + return; + } + CrmDaogouBindListRequest request = new CrmDaogouBindListRequest(); + request.setPage(0); + request.setPageSize(100); + request.setTiming(Constants.ZERO+""); + request.setKeyWords(member.getPhone()); + this.syncData(request,member); + } + + public void syncData(CrmDaogouBindListRequest request,Member member){ boolean hasMore = true; int currentNum = 0; Date cdate = new Date(); + List<CRMDaogouBindListResponse> allList = new ArrayList<>(); while (hasMore){ try { request.setPage(request.getPage()+1); - currentNum += currentNum; CRMBaseResponse<List<CRMDaogouBindListResponse>> response = zbomCRMService.getDaogouBindList(request); if(response==null || !StringUtils.equals(response.getCode(), CRMConstants.CODE_SUCCESS) || response.getData() ==null || response.getData().size() ==0){ hasMore = false; + }else{ + allList.addAll(response.getData()); + currentNum += response.getTotal(); } if(currentNum >= response.getTotal()){ hasMore = false; } - dealSyncDataBiz(cdate,response.getData()); }catch (Exception e){ - hasMore = false; + hasMore = false; } } + dealSyncDataBiz(cdate,allList,member); } - private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list) { + private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list,Member member) { + if(list ==null && list.size()==0){ + return; + } List<CustomerUser> addList = new ArrayList<>(); + List<String> phoneList = new ArrayList<>(); + List<Long> memberIds = new ArrayList<>(); for(CRMDaogouBindListResponse data : list){ if(StringUtils.isBlank(data.getCustomerPhone())){ continue; } - Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() - .eq(Member::getPhone,data.getCustomerPhone() ) - .eq(Member::getIsdeleted,Constants.ZERO) - .last("limit 1" )); + if(member == null){ + member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() + .eq(Member::getPhone,data.getCustomerPhone() ) + .eq(Member::getIsdeleted,Constants.ZERO) + .last("limit 1" )); + } Users user = usersMapper.selectOne(new QueryWrapper<Users>().lambda() - .eq(Users::getIamId,data.getUserId() ) + .eq(Users::getIamId,data.getIamId() ) .last("limit 1" )); if(member == null){ continue; } - /** - * 鍒犻櫎鑰佸緱鏁版嵁 - */ - customerUserMapper.update(null,new UpdateWrapper<CustomerUser>().lambda() - .eq(CustomerUser::getPhone,data.getDgPhone() ) - .eq(CustomerUser::getUsername,data.getUseName() ) - .eq(CustomerUser::getIsdeleted,Constants.ZERO) - .set(CustomerUser::getIsdeleted,Constants.ONE) - ); + if(Objects.isNull(user)){ + continue; + } + memberIds.add(member.getId()); + phoneList.add(data.getCustomerPhone()); + CustomerUser model = new CustomerUser(); model.setCreateDate(date); model.setIsdeleted(Constants.ZERO); @@ -240,11 +266,26 @@ model.setOrgName(data.getOrgName()); model.setCustomerName(data.getCustomerName()); model.setCustomerPhone(data.getCustomerPhone()); - model.setUsername(data.getUseName()); + model.setUsername(data.getUserName()); + model.setSource(Constants.ONE); + model.setZtStatus(Constants.ONE); + model.setZtInfo("crm鍚屾"); model.setIamUserId(data.getUserId()); + model.setMemberId(member==null?null:member.getId()); model.setUserId(user== null?null:user.getId()); model.setCreationDate(data.getCreationDate()); addList.add(model); + } + if(phoneList.size()>0){ + /** + * 鍒犻櫎鑰佸緱鏁版嵁 + */ + customerUserMapper.update(null,new UpdateWrapper<CustomerUser>().lambda() + .in(CustomerUser::getPhone,phoneList) + .eq(CustomerUser::getZtStatus,Constants.ONE) + .eq(CustomerUser::getIsdeleted,Constants.ZERO) + .set(CustomerUser::getIsdeleted,Constants.ONE) + ); } if(addList .size() >0){ int temp = 0; @@ -258,6 +299,13 @@ customerUserMapper.insert(addList.subList(temp,index)); temp = index; } + Member update = new Member(); + update.setAuthStatus(Constants.TWO); + update.setEditDate(new Date()); + memberMapper.update(null,new UpdateWrapper<Member>().lambda(). + set(Member::getAuthStatus,Constants.TWO). + set(Member::getEditDate,new Date()) + .in(Member::getId,memberIds)); } } } -- Gitblit v1.9.3