From 40f16ff7071c793bc02cf3f8ca8c0aa60aa85e21 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 19 七月 2024 09:05:03 +0800 Subject: [PATCH] 提交 --- server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 13 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..d24c684 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 @@ -182,32 +182,54 @@ request.setPageSize(100); request.setTiming(Constants.ONE+""); request.setCreationDate(date); + this.syncData(request); + } + + @Override + @Transactional + public void syncByPhone(String phone) { + CrmDaogouBindListRequest request = new CrmDaogouBindListRequest(); + request.setPage(0); + request.setPageSize(100); + request.setTiming(Constants.ZERO+""); + request.setKeyWords(phone); + this.syncData(request); + } + + public void syncData(CrmDaogouBindListRequest request){ 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); } private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list) { + if(list ==null && list.size()==0){ + return; + } List<CustomerUser> addList = new ArrayList<>(); + List<String> phoneList = new ArrayList<>(); for(CRMDaogouBindListResponse data : list){ if(StringUtils.isBlank(data.getCustomerPhone())){ continue; @@ -222,15 +244,8 @@ 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) - ); + phoneList.add(data.getCustomerPhone()); + CustomerUser model = new CustomerUser(); model.setCreateDate(date); model.setIsdeleted(Constants.ZERO); @@ -240,12 +255,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.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; while(temp < addList.size()){ -- Gitblit v1.9.3