From 597d26b944e1d8bd5772d1f9fac5ec92ba7d592a Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 27 九月 2024 15:40:42 +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 | 51 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 38 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 00d2f47..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,62 +183,78 @@
request.setPageSize(100);
request.setTiming(Constants.ONE+"");
request.setCreationDate(date);
- this.syncData(request);
+ this.syncData(request,null);
}
@Override
@Transactional
- public void syncByPhone(String phone) {
+ 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(phone);
- this.syncData(request);
+ request.setKeyWords(member.getPhone());
+ this.syncData(request,member);
}
- public void syncData(CrmDaogouBindListRequest request){
+ 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;
}
}
+ 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;
}
+ if(Objects.isNull(user)){
+ continue;
+ }
+ memberIds.add(member.getId());
phoneList.add(data.getCustomerPhone());
CustomerUser model = new CustomerUser();
@@ -254,6 +271,7 @@
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);
@@ -281,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