瀏覽代碼

1、新增全量去重

liqihao 1 年之前
父節點
當前提交
1fd5def016

+ 36 - 29
hx-customer/src/main/java/com/fjhx/customer/service/xiaoman/impl/XiaomanCustomerServiceImpl.java

@@ -124,44 +124,51 @@ public class XiaomanCustomerServiceImpl extends ServiceImpl<XiaomanCustomerMappe
     @Override
     public void handleSaveOrUpdate(List<CustomerApiVo> customerApiVoList, Set<Long> allCustomer,boolean flag) {
         List<XiaomanCustomer> xiaomanCustomerList = new ArrayList<>(customerApiVoList);
-        for (XiaomanCustomer customer : xiaomanCustomerList){
-            try {
-                if (allCustomer.contains(customer.getCompanyId())){
-
-                    String customerDetailJson = xiaomanApiService.getCustomerDetail(customer.getCompanyId());
-                    XiaomanCustomerInfoJson xiaomanCustomerInfoJson = new XiaomanCustomerInfoJson();
-                    xiaomanCustomerInfoJson.setCompanyId(customer.getCompanyId());
-                    xiaomanCustomerInfoJson.setJson(customerDetailJson);
-                    xiaomanCustomerInfoJsonService.updateById(xiaomanCustomerInfoJson);
-                    CustomerInfoVo infoVo = HandleXiaomanData.handleDate(customerDetailJson, new TypeReference<R<CustomerInfoVo>>() {
-                    });
-                    //true 全量更新
-                    Long s = flag ? customerConversionAll(infoVo): customerConversionUpdate(infoVo);
-                    customer.setCustomerId(s);
-                    updateById(customer);
-                }else {
+        for (XiaomanCustomer customer : xiaomanCustomerList) {
+                if (allCustomer.contains(customer.getCompanyId())) {
+                    processCustomer(customer, true,flag);
+                } else {
+                    processCustomer(customer, false,flag);
+                }
+        }
+    }
+
 
-                    String customerDetailJson = xiaomanApiService.getCustomerDetail(customer.getCompanyId());
-                    XiaomanCustomerInfoJson xiaomanCustomerInfoJson = new XiaomanCustomerInfoJson();
-                    xiaomanCustomerInfoJson.setCompanyId(customer.getCompanyId());
-                    xiaomanCustomerInfoJson.setJson(customerDetailJson);
+    private void processCustomer(XiaomanCustomer customer, boolean isUpdate,boolean flag) {
+        try {
+            // 如果不是同时全量更新且需要修改,则执行以下逻辑
+            if (!(isUpdate && flag)) {
+                String customerDetailJson = xiaomanApiService.getCustomerDetail(customer.getCompanyId());
+                XiaomanCustomerInfoJson xiaomanCustomerInfoJson = new XiaomanCustomerInfoJson();
+                xiaomanCustomerInfoJson.setCompanyId(customer.getCompanyId());
+                xiaomanCustomerInfoJson.setJson(customerDetailJson);
+
+                if (isUpdate) {
+                    xiaomanCustomerInfoJsonService.updateById(xiaomanCustomerInfoJson);
+                } else {
                     xiaomanCustomerInfoJsonService.save(xiaomanCustomerInfoJson);
+                }
 
-                    CustomerInfoVo infoVo = HandleXiaomanData.handleDate(customerDetailJson, new TypeReference<R<CustomerInfoVo>>() {
-                    });
-                    //小满客户 =》 客户
-                    //true 全量更新
-                    Long s = flag ? customerConversionAll(infoVo): customerConversionUpdate(infoVo);
-                    customer.setCustomerId(s);
+                CustomerInfoVo infoVo = HandleXiaomanData.handleDate(customerDetailJson, new TypeReference<R<CustomerInfoVo>>() {
+                });
+                Long s = flag ? customerConversionAll(infoVo) : customerConversionUpdate(infoVo);
+                customer.setCustomerId(s);
+                if (isUpdate) {
+                    updateById(customer);
+                } else {
                     save(customer);
-                    System.out.println("2");
                 }
-            }catch (Exception e){
-                e.printStackTrace();
+
+
             }
+
+
+        } catch (Exception e) {
+            e.printStackTrace();
         }
     }
 
+
     /**
      * 小满客户 =》 客户
      * @param vo