From a75b18a4157ab486e0b51c438ac165ab3a08e3e0 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 25 七月 2024 18:10:00 +0800
Subject: [PATCH] 代码提交

---
 server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java |   33 +++++++++++++++++++++++++++++----
 1 files changed, 29 insertions(+), 4 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 a753f89..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,31 +182,52 @@
         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){
@@ -234,7 +255,10 @@
             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());
@@ -246,6 +270,7 @@
              */
             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)
             );

--
Gitblit v1.9.3