Browse Source

no message

jiahui 1 year ago
parent
commit
e362b3b09a

+ 25 - 12
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPWXGQueryUpdateServiceImpl.java

@@ -19,6 +19,7 @@ import com.zfire.jiasm.syncdata.service.GLPPWXGQueryUpdateService;
 import com.zfire.jiasm.syncdata.service.PublicService;
 import com.zfire.jiasm.syncdata.utils.oss.OSSUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.springframework.stereotype.Service;
@@ -329,17 +330,29 @@ public class GLPPWXGQueryUpdateServiceImpl implements GLPPWXGQueryUpdateService
             // 新增
             // 看 worker_service_category 有无数据,无数据新增
             if (wxgCategoryTypeRecs ==null || wxgCategoryTypeRecs.size()<1 || !wxgCategoryTypeRecs.containsKey(code) ){
-                WorkerServiceCategory wsc = new WorkerServiceCategory();
-                wsc.setId(IdWorker.getIdStr());
-                wsc.setWorkerId(workerBrandAccount.getWorkerId());
-                wsc.setWebsitId(workerBrandAccount.getWebsitId());
-                wsc.setWebsitWorkerId(workerBrandAccount.getWebsitWorkerId());
-                wsc.setServiceCategoryId(sysDict.getDictCode());
-                wsc.setServiceCategoryName(sysDict.getDictValue());
-                wsc.setFlag(type);
-                wsc.setType(code);
-                wsc.setCreateTime(new Date());
-                wscList.add(wsc);
+                //去重,判断是否存在
+                List<WorkerServiceCategory> hasWorkerServiceCategory = wscList.stream().filter(v ->
+                        org.apache.commons.lang3.StringUtils.equals(v.getWebsitWorkerId(), workerBrandAccount.getWebsitWorkerId())
+                                && org.apache.commons.lang3.StringUtils.equals(v.getFlag(), type)
+                                && org.apache.commons.lang3.StringUtils.equals(v.getType(), code)
+                ).collect(Collectors.toList());
+
+                WorkerServiceCategory wsc = null;
+                if(CollectionUtils.isNotEmpty(hasWorkerServiceCategory)){
+                    wsc = hasWorkerServiceCategory.get(0);
+                }else {
+                    wsc = new WorkerServiceCategory();
+                    wsc.setId(IdWorker.getIdStr());
+                    wsc.setWorkerId(workerBrandAccount.getWorkerId());
+                    wsc.setWebsitId(workerBrandAccount.getWebsitId());
+                    wsc.setWebsitWorkerId(workerBrandAccount.getWebsitWorkerId());
+                    wsc.setServiceCategoryId(sysDict.getDictCode());
+                    wsc.setServiceCategoryName(sysDict.getDictValue());
+                    wsc.setFlag(type);
+                    wsc.setType(code);
+                    wsc.setCreateTime(new Date());
+                    wscList.add(wsc);
+                }
 
                 // WorkerServiceCategoryDetail 新增
                 WorkerServiceCategoryDetail wscd = new WorkerServiceCategoryDetail();
@@ -360,7 +373,7 @@ public class GLPPWXGQueryUpdateServiceImpl implements GLPPWXGQueryUpdateService
                 // WorkerServiceCategoryDetail 新增
                 WorkerServiceCategoryDetail wscd = new WorkerServiceCategoryDetail();
                 wscd.setId(IdWorker.getIdStr());
-                wscd.setWorkerServiceCategoryId(wxgCategoryTypeRecs.get(code).get(0).getServiceCategoryId());
+                wscd.setWorkerServiceCategoryId(wxgCategoryTypeRecs.get(code).get(0).getWorkerServiceCategoryId());
                 wscd.setWorkerId(workerBrandAccount.getWorkerId());
                 wscd.setWebsitId(workerBrandAccount.getWebsitId());
                 wscd.setWebsitWorkerId(workerBrandAccount.getWebsitWorkerId());