yaozhixue 1 年之前
父节点
当前提交
513d20b515

+ 0 - 1
src/main/java/com/zfire/jiasm/syncdata/download/basedata/GLPPGuZhandDaiMa.java

@@ -14,7 +14,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;

+ 7 - 193
src/main/java/com/zfire/jiasm/syncdata/download/basedata/GLPPXSLXDownload.java

@@ -2,14 +2,9 @@ package com.zfire.jiasm.syncdata.download.basedata;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.zfire.jiasm.syncdata.constant.DictTypeEnum;
 import com.zfire.jiasm.syncdata.constant.InterFaceTypeEnum;
 import com.zfire.jiasm.syncdata.data.Token;
-import com.zfire.jiasm.syncdata.plus.entity.ItfTblAzAssignXslxDowload;
-import com.zfire.jiasm.syncdata.plus.entity.SysDict;
-import com.zfire.jiasm.syncdata.plus.service.ItfTblAzAssignXslxDowloadService;
-import com.zfire.jiasm.syncdata.plus.service.SysDictService;
+import com.zfire.jiasm.syncdata.service.GLPPXSLXDownloadService;
 import com.zfire.jiasm.syncdata.utils.HttpUtil;
 import com.zfire.jiasm.syncdata.utils.JSONResult;
 import com.zfire.jiasm.syncdata.utils.TokenCenter;
@@ -17,12 +12,12 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 格力品牌安装销售类型基础资料下载
@@ -33,13 +28,10 @@ public class GLPPXSLXDownload {
     @Value("${baseurl}")
     private String baseurl = "";
 
-
     @Resource
     TokenCenter tokenCenter;
     @Resource
-    SysDictService sysDictService;
-    @Resource
-    ItfTblAzAssignXslxDowloadService itfTblAzAssignXslxDowloadService;
+    GLPPXSLXDownloadService glppxslxDownloadService;
 
 
 
@@ -48,7 +40,6 @@ public class GLPPXSLXDownload {
      * @return
      */
     @Scheduled(fixedDelayString = "${azxslx}")
-    @Transactional(rollbackFor = Exception.class)
     public void processXSLXTask() throws Exception {
         /*if (1==1){
             return;
@@ -68,19 +59,13 @@ public class GLPPXSLXDownload {
             log.info("下载格力品牌安装销售类型信息失败!: {}",jsonResult.getMessage());
             return;
         }
-
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
+
         if (jsonArray != null) {
-            List<ItfTblAzAssignXslxDowload> addRec = new ArrayList<>();
-            List<ItfTblAzAssignXslxDowload> updateRec = new ArrayList<>();
 
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedXSLXAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalXSLXAddOrUpdate(addRec, updateRec);
+            glppxslxDownloadService.extractedXSLX(jsonArray);
 
             log.info("格力品牌安装销售类型信息处理完成: \uF0B7{}",sdf.format(new Date()));
         }else {
@@ -88,175 +73,4 @@ public class GLPPXSLXDownload {
         }
     }
 
-    private void extractedLocalXSLXAddOrUpdate(List<ItfTblAzAssignXslxDowload> addRec, List<ItfTblAzAssignXslxDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_SALE_TYPE.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-        Boolean flag = Boolean.FALSE;
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAzAssignXslxDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_SALE_TYPE.getCode());
-                v.setDictCode(String.valueOf(item.getXslxid()));
-                v.setDictValue(item.getXslxmc());
-                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                }
-                v.setSortNum(item.getPxdj());
-                v.setCreateTime(new Date());
-                if (item.getCjdt() !=null){
-                    v.setCreateTime(item.getCjdt());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAzAssignXslxDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getXslxid())).get(0);
-                if (!v.getDictValue().equals(item.getXslxmc())){
-                    v.setDictValue(item.getXslxmc());
-                    flag = Boolean.TRUE;
-                }
-                // 修改的为有效
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                } else {
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌安装销售类型本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌安装销售类型本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedXSLXAddOrUpdate(JSONArray jsonArray, List<ItfTblAzAssignXslxDowload> addRec, List<ItfTblAzAssignXslxDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblAzAssignXslxDowload> oldRec =  itfTblAzAssignXslxDowloadService.lambdaQuery().list();
-        List<Long> oldRecXslxId = oldRec.stream().map(ItfTblAzAssignXslxDowload::getXslxid).collect(Collectors.toList());
-        Map<Long, List<ItfTblAzAssignXslxDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAzAssignXslxDowload::getXslxid));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblAzAssignXslxDowload item = JSON.toJavaObject(aData,ItfTblAzAssignXslxDowload.class);
-            // 新增或修改数据
-            // 修改
-            if (oldRecXslxId.contains(item.getXslxid())){
-                ItfTblAzAssignXslxDowload old = oldRecMap.get(item.getXslxid()).get(0);
-                if (!old.getXslxmc().equals(item.getXslxmc())){
-                    old.setXslxmc(item.getXslxmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getFlag().equals(item.getFlag())){
-                    old.setFlag(item.getFlag());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getYxlr().equals(item.getYxlr())){
-                    old.setYxlr(item.getYxlr());
-                    flag = Boolean.TRUE;
-                }
-                if (old.getDmc() !=null || item.getDmc() !=null){
-                    if (old.getDmc() !=null && item.getDmc() !=null){
-                        if (!old.getDmc().equals(item.getDmc())){
-                            old.setDmc(item.getDmc());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getDmc() !=null) {
-                            old.setDmc(item.getDmc());
-                        } else {
-                            old.setDmc("");
-                        }
-                    }
-                }
-                if (old.getSituation() !=null || item.getSituation() !=null){
-                    if (old.getSituation() !=null && item.getSituation() !=null){
-                        if (!old.getSituation().equals(item.getSituation())){
-                            old.setSituation(item.getSituation());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getSituation() !=null) {
-                            old.setSituation(item.getDmc());
-                        } else {
-                            old.setSituation("");
-                        }
-                    }
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblAzAssignXslxDowloadService.saveBatch(addRec);
-            log.info("格力品牌安装销售类型信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblAzAssignXslxDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌安装销售类型信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
 }

+ 6 - 495
src/main/java/com/zfire/jiasm/syncdata/download/basedata/GLPPXuQiuLeiBie.java

@@ -8,6 +8,7 @@ import com.zfire.jiasm.syncdata.constant.InterFaceTypeEnum;
 import com.zfire.jiasm.syncdata.data.Token;
 import com.zfire.jiasm.syncdata.plus.entity.*;
 import com.zfire.jiasm.syncdata.plus.service.*;
+import com.zfire.jiasm.syncdata.service.GLPPXuQiuLeiBieService;
 import com.zfire.jiasm.syncdata.utils.HttpUtil;
 import com.zfire.jiasm.syncdata.utils.JSONResult;
 import com.zfire.jiasm.syncdata.utils.TokenCenter;
@@ -34,15 +35,9 @@ public class GLPPXuQiuLeiBie {
     @Resource
     TokenCenter tokenCenter;
     @Resource
-    ItfTblAssignXxlbDowloadService itfTblAssignXxlbDowloadService;
-    @Resource
-    SysDictService sysDictService;
-    @Resource
-    SysDictRefService sysDictRefService;
-    @Resource
     BrandService brandService;
     @Resource
-    ItfTblAssignXqxlDowloadService itfTblAssignXqxlDowloadService;
+    GLPPXuQiuLeiBieService glppXuQiuLeiBieService;
 
 
 
@@ -51,7 +46,6 @@ public class GLPPXuQiuLeiBie {
      * @return
      */
     @Scheduled(fixedDelayString = "${xqdl}")
-    @Transactional(rollbackFor = Exception.class)
     public void processXQDLTask() throws Exception {
         /*if (1==1){
             return;
@@ -78,24 +72,13 @@ public class GLPPXuQiuLeiBie {
             log.info("下载格力品牌需求大类信息失败!: {}",jsonResult.getMessage());
             return;
         }
-
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
+
         if (jsonArray != null) {
-            List<ItfTblAssignXxlbDowload> addRec = new ArrayList<>();
-            List<ItfTblAssignXxlbDowload> updateRec = new ArrayList<>();
 
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedXQLBAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalAddOrUpdate(addRec, updateRec);
-
-
-            // 数据同步到本地字典对应关系
-            extractedLocalRefAddOrUpdate(brandRec, addRec, updateRec);
-
+            glppXuQiuLeiBieService.extractedXQDL(brandRec,jsonArray);
 
             log.info("格力品牌需求大类处理完成: \uF0B7{}",sdf.format(new Date()));
         }else {
@@ -108,7 +91,6 @@ public class GLPPXuQiuLeiBie {
      * @return
      */
     @Scheduled(fixedDelayString = "${xqxl}")
-    @Transactional(rollbackFor = Exception.class)
     public void processXQXLTask() throws Exception {
         /*if (1==1){
             return;
@@ -135,22 +117,13 @@ public class GLPPXuQiuLeiBie {
             log.info("下载格力品牌需求小类信息失败!: {}",jsonResult.getMessage());
             return;
         }
-
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
+
         if (jsonArray != null) {
-            List<ItfTblAssignXqxlDowload> addRec = new ArrayList<>();
-            List<ItfTblAssignXqxlDowload> updateRec = new ArrayList<>();
 
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedXQXLAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalAddOrUPdate(addRec, updateRec);
-
-            // 数据同步到本地字典对应关系
-            extractedXQXLLocalRefAddOrUpdate(brandRec, addRec, updateRec);
+            glppXuQiuLeiBieService.extractedXQXL(brandRec,jsonArray);
 
 
             log.info("格力品牌需求小类处理完成: \uF0B7{}",sdf.format(new Date()));
@@ -159,466 +132,4 @@ public class GLPPXuQiuLeiBie {
         }
     }
 
-    private void extractedXQXLLocalRefAddOrUpdate(Brand brandRec, List<ItfTblAssignXqxlDowload> addRec, List<ItfTblAssignXqxlDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        List<SysDictRef> addSysDictRef = new ArrayList<>();
-        List<SysDictRef> updateSysDictRef = new ArrayList<>();
-
-        // 提取字典对应关系
-        List<SysDictRef> oldSysDictRefRec =  sysDictRefService.lambdaQuery()
-                .eq(SysDictRef::getBrandId, brandRec.getBrandId())
-                .eq(SysDictRef::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode()).list();
-        Map<String, List<SysDictRef>> oldSysDictRefRecMap = oldSysDictRefRec.stream().collect(Collectors.groupingBy(SysDictRef::getDictCode));
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignXqxlDowload item : addRec){
-                SysDictRef v = new SysDictRef();
-                v.setId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode());
-                v.setDictCode(String.valueOf(item.getId()));
-                v.setDictValue(item.getLbmc());
-                v.setSortNum(Integer.valueOf(item.getPxdj()));
-                v.setBrandId(brandRec.getBrandId());
-                v.setRefDictCode(String.valueOf(item.getId()));
-                v.setRefDictName(item.getLbmc());
-                v.setCreateTime(new Date());
-                v.setCreateBy("system");
-                addSysDictRef.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignXqxlDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDictRef v = oldSysDictRefRecMap.get(String.valueOf(item.getId())).get(0);
-                if (!v.getDictValue().equals(item.getLbmc())){
-                    v.setDictValue(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!v.getRefDictName().equals(item.getLbmc())){
-                    v.setRefDictName(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!v.getSortNum().equals(Integer.valueOf(item.getPxdj()))){
-                    v.setSortNum(Integer.valueOf(item.getPxdj()));
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    v.setUpdateBy("system");
-                    v.setUpdateTime(new Date());
-                    if (item.getLastModifiedBy()!=null){
-                        v.setUpdateBy(item.getLastModifiedBy());
-                    }
-                    if (item.getLastModifiedDate()!=null){
-                        v.setUpdateTime(item.getLastModifiedDate());
-                    }
-                    updateSysDictRef.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDictRef.size()>0){
-            sysDictRefService.saveBatch(addSysDictRef);
-            log.info("本地字典对应关系信息表新增插入了{}条数据",addSysDictRef.size());
-        }
-        // 更新
-        if (updateSysDictRef.size()>0){
-            sysDictRefService.updateBatchById(updateSysDictRef);
-            log.info("本地字典对应关系信息表更新修改了{}条数据", updateSysDictRef.size());
-        }
-    }
-
-    private void extractedLocalAddOrUPdate(List<ItfTblAssignXqxlDowload> addRec, List<ItfTblAssignXqxlDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-        Boolean flag = Boolean.FALSE;
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignXqxlDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode());
-                v.setDictCode(String.valueOf(item.getId()));
-                v.setDictValue(item.getLbmc());
-                v.setSortNum(Integer.valueOf(item.getPxdj()));
-                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                }
-                v.setParentDictCode(item.getDaleiid());
-                v.setParentDictType(DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode());
-                v.setCreateTime(new Date());
-                if (item.getCreatedDate() !=null){
-                    v.setCreateTime(item.getCreatedDate());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignXqxlDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getId())).get(0);
-                if (!v.getDictValue().equals(item.getLbmc())){
-                    v.setDictValue(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                // 修改的为有效
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                } else {
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                }
-                if (!v.getSortNum().equals(Integer.valueOf(item.getPxdj()))){
-                    v.setSortNum(Integer.valueOf(item.getPxdj()));
-                    flag = Boolean.TRUE;
-                }
-                if (!v.getParentDictCode().equals(item.getDaleiid())){
-                    v.setParentDictCode(item.getDaleiid());
-                    flag = Boolean.TRUE;
-                }
-
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌需求小类本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌需求小类本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedXQXLAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXqxlDowload> addRec, List<ItfTblAssignXqxlDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblAssignXqxlDowload> oldRec =  itfTblAssignXqxlDowloadService.lambdaQuery().list();
-        List<String> oldRecId = oldRec.stream().map(ItfTblAssignXqxlDowload::getId).collect(Collectors.toList());
-        Map<String, List<ItfTblAssignXqxlDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXqxlDowload::getId));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblAssignXqxlDowload item = JSON.toJavaObject(aData,ItfTblAssignXqxlDowload.class);
-            // 新增或修改数据
-
-            // 修改
-            if (oldRecId.contains(item.getId())){
-                ItfTblAssignXqxlDowload old = oldRecMap.get(item.getId()).get(0);
-                if (old.getLbno() !=null || item.getLbno() !=null){
-                    if (old.getLbno() !=null && item.getLbno() !=null){
-                        if (!old.getLbno().equals(item.getLbno())){
-                            old.setLbno(item.getLbno());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getLbno() !=null) {
-                            old.setLbno(item.getLbno());
-                        } else {
-                            old.setLbno("");
-                        }
-                    }
-                }
-
-                if (!old.getLbmc().equals(item.getLbmc())){
-                    old.setLbmc(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getFlag().equals(item.getFlag())){
-                    old.setFlag(item.getFlag());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getDaleiid().equals(item.getDaleiid())){
-                    old.setDaleiid(item.getDaleiid());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblAssignXqxlDowloadService.saveBatch(addRec);
-            log.info("格力品牌需求小类信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblAssignXqxlDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌需求小类信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
-
-    private void extractedLocalRefAddOrUpdate(Brand brandRec, List<ItfTblAssignXxlbDowload> addRec, List<ItfTblAssignXxlbDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        List<SysDictRef> addSysDictRef = new ArrayList<>();
-        List<SysDictRef> updateSysDictRef = new ArrayList<>();
-
-        // 提取字典对应关系
-        List<SysDictRef> oldSysDictRefRec =  sysDictRefService.lambdaQuery()
-                .eq(SysDictRef::getBrandId, brandRec.getBrandId())
-                .eq(SysDictRef::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode()).list();
-        Map<String, List<SysDictRef>> oldSysDictRefRecMap = oldSysDictRefRec.stream().collect(Collectors.groupingBy(SysDictRef::getDictCode));
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignXxlbDowload item : addRec){
-                SysDictRef v = new SysDictRef();
-                v.setId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode());
-                v.setDictCode(String.valueOf(item.getLbid()));
-                v.setDictValue(item.getLbmc());
-                v.setSortNum(item.getPxdj());
-                v.setBrandId(brandRec.getBrandId());
-                v.setRefDictCode(String.valueOf(item.getLbid()));
-                v.setRefDictName(item.getLbmc());
-                v.setCreateTime(new Date());
-                v.setCreateBy("system");
-                addSysDictRef.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignXxlbDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDictRef v = oldSysDictRefRecMap.get(String.valueOf(item.getLbid())).get(0);
-                if (!v.getDictValue().equals(item.getLbmc())){
-                    v.setDictValue(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!v.getRefDictName().equals(item.getLbmc())){
-                    v.setRefDictName(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    v.setUpdateBy("system");
-                    v.setUpdateTime(new Date());
-                    if (item.getLastModifiedBy()!=null){
-                        v.setUpdateBy(item.getLastModifiedBy());
-                    }
-                    if (item.getLastModifiedDate()!=null){
-                        v.setUpdateTime(item.getLastModifiedDate());
-                    }
-                    updateSysDictRef.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDictRef.size()>0){
-            sysDictRefService.saveBatch(addSysDictRef);
-            log.info("本地字典对应关系信息表新增插入了{}条数据",addSysDictRef.size());
-        }
-        // 更新
-        if (updateSysDictRef.size()>0){
-            sysDictRefService.updateBatchById(updateSysDictRef);
-            log.info("本地字典对应关系信息表更新修改了{}条数据", updateSysDictRef.size());
-        }
-    }
-
-    private void extractedLocalAddOrUpdate(List<ItfTblAssignXxlbDowload> addRec, List<ItfTblAssignXxlbDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-        Boolean flag = Boolean.FALSE;
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignXxlbDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode());
-                v.setDictCode(String.valueOf(item.getLbid()));
-                v.setDictValue(item.getLbmc());
-                v.setSortNum(item.getPxdj());
-                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                }
-                v.setCreateTime(new Date());
-                if (item.getCreatedDate() !=null){
-                    v.setCreateTime(item.getCreatedDate());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignXxlbDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getLbid())).get(0);
-                if (!v.getDictValue().equals(item.getLbmc())){
-                    v.setDictValue(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                // 修改的为有效
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                } else {
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌需求大类本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌需求大类本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedXQLBAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXxlbDowload> addRec, List<ItfTblAssignXxlbDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblAssignXxlbDowload> oldRec =  itfTblAssignXxlbDowloadService.lambdaQuery().list();
-        List<Long> oldRecLbId = oldRec.stream().map(ItfTblAssignXxlbDowload::getLbid).collect(Collectors.toList());
-        Map<Long, List<ItfTblAssignXxlbDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXxlbDowload::getLbid));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblAssignXxlbDowload item = JSON.toJavaObject(aData,ItfTblAssignXxlbDowload.class);
-            // 新增或修改数据
-
-            // 修改
-            if (oldRecLbId.contains(item.getLbid())){
-                ItfTblAssignXxlbDowload old = oldRecMap.get(item.getLbid()).get(0);
-                if (old.getLbno() !=null || item.getLbno() !=null){
-                    if (old.getLbno() !=null && item.getLbno() !=null){
-                        if (!old.getLbno().equals(item.getLbno())){
-                            old.setLbno(item.getLbno());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getLbno() !=null) {
-                            old.setLbno(item.getLbno());
-                        } else {
-                            old.setLbno("");
-                        }
-                    }
-                }
-
-                if (!old.getLbmc().equals(item.getLbmc())){
-                    old.setLbmc(item.getLbmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getFlag().equals(item.getFlag())){
-                    old.setFlag(item.getFlag());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblAssignXxlbDowloadService.saveBatch(addRec);
-            log.info("格力品牌需求大类信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblAssignXxlbDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌需求大类信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
 }

+ 9 - 650
src/main/java/com/zfire/jiasm/syncdata/download/basedata/GLPPYHSXXXQD.java

@@ -2,12 +2,9 @@ package com.zfire.jiasm.syncdata.download.basedata;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.zfire.jiasm.syncdata.constant.DictTypeEnum;
 import com.zfire.jiasm.syncdata.constant.InterFaceTypeEnum;
 import com.zfire.jiasm.syncdata.data.Token;
-import com.zfire.jiasm.syncdata.plus.entity.*;
-import com.zfire.jiasm.syncdata.plus.service.*;
+import com.zfire.jiasm.syncdata.service.GLPPYHSXXXQDService;
 import com.zfire.jiasm.syncdata.utils.HttpUtil;
 import com.zfire.jiasm.syncdata.utils.JSONResult;
 import com.zfire.jiasm.syncdata.utils.TokenCenter;
@@ -15,12 +12,12 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 格力品牌用户属性、信息渠道 基础资料下载(用户属性、用户等级、信息渠道、信息来源)
@@ -35,19 +32,7 @@ public class GLPPYHSXXXQD {
     @Resource
     TokenCenter tokenCenter;
     @Resource
-    SysDictService sysDictService;
-    @Resource
-    ItfTblAssignYhsxWxDowloadService itfTblAssignYhsxWxDowloadService;
-    @Resource
-    ItfTblAssignXxqdDowloadService itfTblAssignXxqdDowloadService;
-    @Resource
-    ItfTblAssignXxlyDowloadService itfTblAssignXxlyDowloadService;
-    @Resource
-    ItfTblYhsxViprankDowloadService itfTblYhsxViprankDowloadService;
-
-
-
-
+    GLPPYHSXXXQDService glppyhsxxxqdService;
 
 
     /**
@@ -55,7 +40,6 @@ public class GLPPYHSXXXQD {
      * @return
      */
     @Scheduled(fixedDelayString = "${yhsx}")
-    @Transactional(rollbackFor = Exception.class)
     public void processYHSXTask() throws Exception {
         /*if (1==1){
             return;
@@ -78,16 +62,9 @@ public class GLPPYHSXXXQD {
 
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
         if (jsonArray != null) {
-            List<ItfTblAssignYhsxWxDowload> addRec = new ArrayList<>();
-            List<ItfTblAssignYhsxWxDowload> updateRec = new ArrayList<>();
-
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedYHSXAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalYHSXAddOrUpdate(addRec, updateRec);
+            glppyhsxxxqdService.extractedYHSX(jsonArray);
 
             log.info("格力品牌用户属性信息处理完成: \uF0B7{}",sdf.format(new Date()));
         }else {
@@ -100,7 +77,6 @@ public class GLPPYHSXXXQD {
      * @return
      */
     @Scheduled(fixedDelayString = "${yhdj}")
-    @Transactional(rollbackFor = Exception.class)
     public void processYHDJTask() throws Exception {
         /*if (1==1){
             return;
@@ -123,17 +99,9 @@ public class GLPPYHSXXXQD {
 
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
         if (jsonArray != null) {
-            List<ItfTblYhsxViprankDowload> addRec = new ArrayList<>();
-            List<ItfTblYhsxViprankDowload> updateRec = new ArrayList<>();
-
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedYHDJAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalYHDJAddOrUpdate(addRec, updateRec);
-
+            glppyhsxxxqdService.extractedYHDJ(jsonArray);
 
             log.info("格力品牌用户等级信息处理完成: \uF0B7{}",sdf.format(new Date()));
         }else {
@@ -146,7 +114,6 @@ public class GLPPYHSXXXQD {
      * @return
      */
     @Scheduled(fixedDelayString = "${xxqd}")
-    @Transactional(rollbackFor = Exception.class)
     public void processXXQDTask() throws Exception {
         /*if (1==1){
             return;
@@ -169,17 +136,9 @@ public class GLPPYHSXXXQD {
 
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
         if (jsonArray != null) {
-            List<ItfTblAssignXxqdDowload> addRec = new ArrayList<>();
-            List<ItfTblAssignXxqdDowload> updateRec = new ArrayList<>();
-
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedXXQDAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalXXQDAddOrUpdate(addRec, updateRec);
-
+            glppyhsxxxqdService.extractedXXQD(jsonArray);
 
             log.info("格力品牌信息渠道信息处理完成: \uF0B7{}",sdf.format(new Date()));
         }else {
@@ -192,7 +151,6 @@ public class GLPPYHSXXXQD {
      * @return
      */
     @Scheduled(fixedDelayString = "${xxly}")
-    @Transactional(rollbackFor = Exception.class)
     public void processXXLYTask() throws Exception {
         /*if (1==1){
             return;
@@ -215,17 +173,9 @@ public class GLPPYHSXXXQD {
 
         JSONArray jsonArray = (JSONArray) jsonResult.getData();
         if (jsonArray != null) {
-            List<ItfTblAssignXxlyDowload> addRec = new ArrayList<>();
-            List<ItfTblAssignXxlyDowload> updateRec = new ArrayList<>();
-
             log.info("下载了{}条数据",jsonArray.size());
 
-            // 数据同步落到同步信息表
-            extractedXXLYAddOrUpdate(jsonArray, addRec, updateRec);
-
-            // 数据同步到本地字典表
-            extractedLocalXXLYAddOrUpdate(addRec, updateRec);
-
+            glppyhsxxxqdService.extractedXXLY(jsonArray);
 
             log.info("格力品牌信息来源信息处理完成: \uF0B7{}",sdf.format(new Date()));
         }else {
@@ -233,595 +183,4 @@ public class GLPPYHSXXXQD {
         }
     }
 
-
-    private void extractedLocalYHDJAddOrUpdate(List<ItfTblYhsxViprankDowload> addRec, List<ItfTblYhsxViprankDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-        Boolean flag = Boolean.FALSE;
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_USER_LEVEL.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblYhsxViprankDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_USER_LEVEL.getCode());
-                v.setDictCode(String.valueOf(item.getVipid()));
-                v.setDictValue(item.getVipmc());
-                v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                v.setSortNum(item.getPxdj());
-                v.setCreateTime(new Date());
-                if (item.getCjdt() !=null){
-                    v.setCreateTime(item.getCjdt());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblYhsxViprankDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getVipid())).get(0);
-                if (!v.getDictValue().equals(item.getVipmc())){
-                    v.setDictValue(item.getVipmc());
-                    flag = Boolean.TRUE;
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌用户等级本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌用户等级本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedYHDJAddOrUpdate(JSONArray jsonArray, List<ItfTblYhsxViprankDowload> addRec, List<ItfTblYhsxViprankDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblYhsxViprankDowload> oldRec =  itfTblYhsxViprankDowloadService.lambdaQuery().list();
-        List<Long> oldRecVipId = oldRec.stream().map(ItfTblYhsxViprankDowload::getVipid).collect(Collectors.toList());
-        Map<Long, List<ItfTblYhsxViprankDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblYhsxViprankDowload::getVipid));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblYhsxViprankDowload item = JSON.toJavaObject(aData,ItfTblYhsxViprankDowload.class);
-            // 新增或修改数据
-            // 修改
-            if (oldRecVipId.contains(item.getVipid().longValue())){
-                ItfTblYhsxViprankDowload old = oldRecMap.get(item.getVipid()).get(0);
-                if (!old.getVipmc().equals(item.getVipmc())){
-                    old.setVipmc(item.getVipmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblYhsxViprankDowloadService.saveBatch(addRec);
-            log.info("格力品牌用户等级信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblYhsxViprankDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌用户等级信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
-
-    private void extractedLocalXXLYAddOrUpdate(List<ItfTblAssignXxlyDowload> addRec, List<ItfTblAssignXxlyDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-        Boolean flag = Boolean.FALSE;
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_XXQD_SOURCE.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignXxlyDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_XXQD_SOURCE.getCode());
-                v.setDictCode(String.valueOf(item.getLyid()));
-                v.setDictValue(item.getLymc());
-                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                }
-                v.setSortNum(item.getPxdj());
-                v.setCreateTime(new Date());
-                if (item.getCjdt() !=null){
-                    v.setCreateTime(item.getCjdt());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignXxlyDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getLyid())).get(0);
-                if (!v.getDictValue().equals(item.getLymc())){
-                    v.setDictValue(item.getLymc());
-                    flag = Boolean.TRUE;
-                }
-                // 修改的为有效
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                } else {
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌用户属性本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌用户属性本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedXXLYAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXxlyDowload> addRec, List<ItfTblAssignXxlyDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblAssignXxlyDowload> oldRec =  itfTblAssignXxlyDowloadService.lambdaQuery().list();
-        List<Long> oldRecQdId = oldRec.stream().map(ItfTblAssignXxlyDowload::getLyid).collect(Collectors.toList());
-        Map<Long, List<ItfTblAssignXxlyDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXxlyDowload::getLyid));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblAssignXxlyDowload item = JSON.toJavaObject(aData,ItfTblAssignXxlyDowload.class);
-            // 新增或修改数据
-            // 修改
-            if (oldRecQdId.contains(item.getLyid())){
-                ItfTblAssignXxlyDowload old = oldRecMap.get(item.getLyid()).get(0);
-                if (old.getLyno() !=null || item.getLyno() !=null){
-                    if (old.getLyno() !=null && item.getLyno() !=null){
-                        if (!old.getLyno().equals(item.getLyno())){
-                            old.setLyno(item.getLyno());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getLyno() !=null) {
-                            old.setLyno(item.getLyno());
-                        } else {
-                            old.setLyno("");
-                        }
-                    }
-                }
-
-                if (!old.getLymc().equals(item.getLymc())){
-                    old.setLymc(item.getLymc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getFlag().equals(item.getFlag())){
-                    old.setFlag(item.getFlag());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblAssignXxlyDowloadService.saveBatch(addRec);
-            log.info("格力品牌信息来源信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblAssignXxlyDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌信息来源信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
-
-    private void extractedLocalXXQDAddOrUpdate(List<ItfTblAssignXxqdDowload> addRec, List<ItfTblAssignXxqdDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-        Boolean flag = Boolean.FALSE;
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_XXQD_CHANNEL.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignXxqdDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_XXQD_CHANNEL.getCode());
-                v.setDictCode(String.valueOf(item.getQdid()));
-                v.setDictValue(item.getQdmc());
-                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                }
-                v.setSortNum(item.getPxdj());
-                v.setCreateTime(new Date());
-                if (item.getCjdt() !=null){
-                    v.setCreateTime(item.getCjdt());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignXxqdDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getQdid())).get(0);
-                if (!v.getDictValue().equals(item.getQdmc())){
-                    v.setDictValue(item.getQdmc());
-                    flag = Boolean.TRUE;
-                }
-                // 修改的为有效
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                } else {
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌用户属性本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌用户属性本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedXXQDAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXxqdDowload> addRec, List<ItfTblAssignXxqdDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblAssignXxqdDowload> oldRec =  itfTblAssignXxqdDowloadService.lambdaQuery().list();
-        List<Long> oldRecQdId = oldRec.stream().map(ItfTblAssignXxqdDowload::getQdid).collect(Collectors.toList());
-        Map<Long, List<ItfTblAssignXxqdDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXxqdDowload::getQdid));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblAssignXxqdDowload item = JSON.toJavaObject(aData,ItfTblAssignXxqdDowload.class);
-            // 新增或修改数据
-            // 修改
-            if (oldRecQdId.contains(item.getQdid())){
-                ItfTblAssignXxqdDowload old = oldRecMap.get(item.getQdid()).get(0);
-                if (old.getQdno() !=null || item.getQdno() !=null){
-                    if (old.getQdno() !=null && item.getQdno() !=null){
-                        if (!old.getQdno().equals(item.getQdno())){
-                            old.setQdno(item.getQdno());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getQdno() !=null) {
-                            old.setQdno(item.getQdno());
-                        } else {
-                            old.setQdno("");
-                        }
-                    }
-                }
-
-                if (!old.getQdmc().equals(item.getQdmc())){
-                    old.setQdmc(item.getQdmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getFlag().equals(item.getFlag())){
-                    old.setFlag(item.getFlag());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblAssignXxqdDowloadService.saveBatch(addRec);
-            log.info("格力品牌信息渠道信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblAssignXxqdDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌信息渠道信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
-
-
-    private void extractedLocalYHSXAddOrUpdate(List<ItfTblAssignYhsxWxDowload> addRec, List<ItfTblAssignYhsxWxDowload> updateRec) {
-        List<SysDict> addSysDict = new ArrayList<>();
-        List<SysDict> updateSysDict = new ArrayList<>();
-
-        // 提取大类字典数据  sysDictService
-        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_USER_ATTR.getCode()).list();
-        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
-
-        Boolean flag = Boolean.FALSE;
-
-        // 获取新增的
-        if (addRec.size()>0){
-            for (ItfTblAssignYhsxWxDowload item : addRec){
-                SysDict v = new SysDict();
-                v.setSysDictId(UUID.randomUUID().toString());
-                v.setDictType(DictTypeEnum.DICT_TYPE_USER_ATTR.getCode());
-                v.setDictCode(String.valueOf(item.getYhsxid()));
-                v.setDictValue(item.getYhsxmc());
-                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                }
-                v.setSortNum(item.getPxdj());
-                v.setCreateTime(new Date());
-                if (item.getCjdt() !=null){
-                    v.setCreateTime(item.getCjdt());
-                }
-                addSysDict.add(v);
-            }
-        }
-        // 获取修改的
-        if (updateRec.size()>0){
-            for (ItfTblAssignYhsxWxDowload item : updateRec){
-                flag = Boolean.FALSE;
-                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getYhsxid())).get(0);
-                if (!v.getDictValue().equals(item.getYhsxmc())){
-                    v.setDictValue(item.getYhsxmc());
-                    flag = Boolean.TRUE;
-                }
-                // 修改的为有效
-                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                } else {
-                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
-                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
-                        flag = Boolean.TRUE;
-                    }
-                }
-                if (v.getSortNum() != item.getPxdj()){
-                    v.setSortNum(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    updateSysDict.add(v);
-                }
-            }
-        }
-
-        // 新增的插入到表
-        if (addSysDict.size()>0){
-            sysDictService.saveBatch(addSysDict);
-            log.info("格力品牌用户属性本地字典信息表新增插入了{}条数据",addSysDict.size());
-        }
-        // 更新
-        if (updateSysDict.size()>0){
-            sysDictService.updateBatchById(updateSysDict);
-            log.info("格力品牌用户属性本地字典信息表更新修改了{}条数据", updateSysDict.size());
-        }
-    }
-
-    private void extractedYHSXAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignYhsxWxDowload> addRec, List<ItfTblAssignYhsxWxDowload> updateRec) {
-        Boolean flag = Boolean.FALSE;
-        String synTaskNo = UUID.randomUUID().toString();
-        // 提取现有的数据信息
-        List<ItfTblAssignYhsxWxDowload> oldRec =  itfTblAssignYhsxWxDowloadService.lambdaQuery().list();
-        List<Long> oldRecYhsxId = oldRec.stream().map(ItfTblAssignYhsxWxDowload::getYhsxid).collect(Collectors.toList());
-        Map<Long, List<ItfTblAssignYhsxWxDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignYhsxWxDowload::getYhsxid));
-        for (int i = 0; i < jsonArray.size(); i++) {
-            flag = Boolean.FALSE;
-            JSONObject aData = jsonArray.getJSONObject(i);
-            ItfTblAssignYhsxWxDowload item = JSON.toJavaObject(aData,ItfTblAssignYhsxWxDowload.class);
-            // 新增或修改数据
-
-            // 修改
-            if (oldRecYhsxId.contains(item.getYhsxid())){
-                ItfTblAssignYhsxWxDowload old = oldRecMap.get(item.getYhsxid()).get(0);
-                if (!old.getYhsxmc().equals(item.getYhsxmc())){
-                    old.setYhsxmc(item.getYhsxmc());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getPxdj().equals(item.getPxdj())){
-                    old.setPxdj(item.getPxdj());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getFlag().equals(item.getFlag())){
-                    old.setFlag(item.getFlag());
-                    flag = Boolean.TRUE;
-                }
-                if (old.getYhsxmcvl() !=null || item.getYhsxmcvl() !=null){
-                    if (old.getYhsxmcvl() !=null && item.getYhsxmcvl() !=null){
-                        if (!old.getYhsxmcvl().equals(item.getYhsxmcvl())){
-                            old.setYhsxmcvl(item.getYhsxmcvl());
-                            flag = Boolean.TRUE;
-                        }
-                    } else {
-                        flag = Boolean.TRUE;
-                        if (item.getYhsxmcvl() !=null) {
-                            old.setYhsxmcvl(item.getYhsxmcvl());
-                        } else {
-                            old.setYhsxmcvl("");
-                        }
-                    }
-                }
-                if (!old.getIfdx().equals(item.getIfdx())){
-                    old.setIfdx(item.getIfdx());
-                    flag = Boolean.TRUE;
-                }
-                if (!old.getRols().equals(item.getRols())){
-                    old.setRols(item.getRols());
-                    flag = Boolean.TRUE;
-                }
-                if (flag){
-                    old.setLastModifiedBy("system");
-                    old.setLastModifiedDate(new Date());
-                    // 操作人
-                    if (item.getLastModifiedBy() != null){
-                        old.setLastModifiedBy(item.getLastModifiedBy());
-                    }
-                    // 修改时间
-                    if (item.getLastModifiedDate() != null){
-                        old.setLastModifiedDate(item.getLastModifiedDate());
-                    }
-                    updateRec.add(old);
-                }
-            } else {
-                // 新增
-                item.setSynTaskNo(synTaskNo);
-                if (item.getCreatedBy() ==null){
-                    item.setCreatedBy("system");
-                }
-                if (item.getCreatedDate() == null){
-                    item.setCreatedDate(new Date());
-                }
-                addRec.add(item);
-            }
-        }
-        // 新增的插入到表
-        if (addRec.size()>0){
-            itfTblAssignYhsxWxDowloadService.saveBatch(addRec);
-            log.info("格力品牌用户属性信息同步新增插入了{}条数据", addRec.size());
-        }
-
-        // 更新
-        if (updateRec.size()>0){
-            itfTblAssignYhsxWxDowloadService.updateBatchById(updateRec);
-            log.info("格力品牌用户属性信息同步更新修改了{}条数据", updateRec.size());
-        }
-    }
-
-
 }

+ 8 - 0
src/main/java/com/zfire/jiasm/syncdata/service/GLPPXSLXDownloadService.java

@@ -0,0 +1,8 @@
+package com.zfire.jiasm.syncdata.service;
+
+import com.alibaba.fastjson.JSONArray;
+
+public interface GLPPXSLXDownloadService {
+
+    void extractedXSLX(JSONArray jsonArray);
+}

+ 11 - 0
src/main/java/com/zfire/jiasm/syncdata/service/GLPPXuQiuLeiBieService.java

@@ -0,0 +1,11 @@
+package com.zfire.jiasm.syncdata.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.zfire.jiasm.syncdata.plus.entity.Brand;
+
+public interface GLPPXuQiuLeiBieService {
+
+    void extractedXQDL(Brand brandRec,JSONArray jsonArray);
+
+    void extractedXQXL(Brand brandRec,JSONArray jsonArray);
+}

+ 10 - 0
src/main/java/com/zfire/jiasm/syncdata/service/GLPPYHSXXXQDService.java

@@ -0,0 +1,10 @@
+package com.zfire.jiasm.syncdata.service;
+
+import com.alibaba.fastjson.JSONArray;
+
+public interface GLPPYHSXXXQDService {
+    void extractedYHSX(JSONArray jsonArray);
+    void extractedYHDJ(JSONArray jsonArray);
+    void extractedXXQD(JSONArray jsonArray);
+    void extractedXXLY(JSONArray jsonArray);
+}

+ 216 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPXSLXDownloadServiceImpl.java

@@ -0,0 +1,216 @@
+package com.zfire.jiasm.syncdata.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zfire.jiasm.syncdata.constant.DictTypeEnum;
+import com.zfire.jiasm.syncdata.plus.entity.ItfTblAzAssignXslxDowload;
+import com.zfire.jiasm.syncdata.plus.entity.SysDict;
+import com.zfire.jiasm.syncdata.plus.service.ItfTblAzAssignXslxDowloadService;
+import com.zfire.jiasm.syncdata.plus.service.SysDictService;
+import com.zfire.jiasm.syncdata.service.GLPPXSLXDownloadService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+@Slf4j
+@Service
+public class GLPPXSLXDownloadServiceImpl implements GLPPXSLXDownloadService {
+    @Resource
+    SysDictService sysDictService;
+    @Resource
+    ItfTblAzAssignXslxDowloadService itfTblAzAssignXslxDowloadService;
+
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedXSLX(JSONArray jsonArray) {
+        List<ItfTblAzAssignXslxDowload> addRec = new ArrayList<>();
+        List<ItfTblAzAssignXslxDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedXSLXAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalXSLXAddOrUpdate(addRec, updateRec);
+    }
+
+
+    private void extractedLocalXSLXAddOrUpdate(List<ItfTblAzAssignXslxDowload> addRec, List<ItfTblAzAssignXslxDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_SALE_TYPE.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+        Boolean flag = Boolean.FALSE;
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAzAssignXslxDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_SALE_TYPE.getCode());
+                v.setDictCode(String.valueOf(item.getXslxid()));
+                v.setDictValue(item.getXslxmc());
+                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                }
+                v.setSortNum(item.getPxdj());
+                v.setCreateTime(new Date());
+                if (item.getCjdt() !=null){
+                    v.setCreateTime(item.getCjdt());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAzAssignXslxDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getXslxid())).get(0);
+                if (!v.getDictValue().equals(item.getXslxmc())){
+                    v.setDictValue(item.getXslxmc());
+                    flag = Boolean.TRUE;
+                }
+                // 修改的为有效
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                } else {
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌安装销售类型本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌安装销售类型本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedXSLXAddOrUpdate(JSONArray jsonArray, List<ItfTblAzAssignXslxDowload> addRec, List<ItfTblAzAssignXslxDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblAzAssignXslxDowload> oldRec =  itfTblAzAssignXslxDowloadService.lambdaQuery().list();
+        List<Long> oldRecXslxId = oldRec.stream().map(ItfTblAzAssignXslxDowload::getXslxid).collect(Collectors.toList());
+        Map<Long, List<ItfTblAzAssignXslxDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAzAssignXslxDowload::getXslxid));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblAzAssignXslxDowload item = JSON.toJavaObject(aData,ItfTblAzAssignXslxDowload.class);
+            // 新增或修改数据
+            // 修改
+            if (oldRecXslxId.contains(item.getXslxid())){
+                ItfTblAzAssignXslxDowload old = oldRecMap.get(item.getXslxid()).get(0);
+                if (!old.getXslxmc().equals(item.getXslxmc())){
+                    old.setXslxmc(item.getXslxmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getFlag().equals(item.getFlag())){
+                    old.setFlag(item.getFlag());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getYxlr().equals(item.getYxlr())){
+                    old.setYxlr(item.getYxlr());
+                    flag = Boolean.TRUE;
+                }
+                if (old.getDmc() !=null || item.getDmc() !=null){
+                    if (old.getDmc() !=null && item.getDmc() !=null){
+                        if (!old.getDmc().equals(item.getDmc())){
+                            old.setDmc(item.getDmc());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getDmc() !=null) {
+                            old.setDmc(item.getDmc());
+                        } else {
+                            old.setDmc("");
+                        }
+                    }
+                }
+                if (old.getSituation() !=null || item.getSituation() !=null){
+                    if (old.getSituation() !=null && item.getSituation() !=null){
+                        if (!old.getSituation().equals(item.getSituation())){
+                            old.setSituation(item.getSituation());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getSituation() !=null) {
+                            old.setSituation(item.getDmc());
+                        } else {
+                            old.setSituation("");
+                        }
+                    }
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblAzAssignXslxDowloadService.saveBatch(addRec);
+            log.info("格力品牌安装销售类型信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblAzAssignXslxDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌安装销售类型信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+}

+ 531 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPXuQiuLeiBieServiceImpl.java

@@ -0,0 +1,531 @@
+package com.zfire.jiasm.syncdata.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zfire.jiasm.syncdata.constant.DictTypeEnum;
+import com.zfire.jiasm.syncdata.plus.entity.*;
+import com.zfire.jiasm.syncdata.plus.service.*;
+import com.zfire.jiasm.syncdata.service.GLPPXuQiuLeiBieService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+public class GLPPXuQiuLeiBieServiceImpl implements GLPPXuQiuLeiBieService {
+    @Resource
+    ItfTblAssignXxlbDowloadService itfTblAssignXxlbDowloadService;
+    @Resource
+    SysDictService sysDictService;
+    @Resource
+    SysDictRefService sysDictRefService;
+    @Resource
+    ItfTblAssignXqxlDowloadService itfTblAssignXqxlDowloadService;
+
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedXQDL(Brand brandRec, JSONArray jsonArray) {
+        List<ItfTblAssignXxlbDowload> addRec = new ArrayList<>();
+        List<ItfTblAssignXxlbDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedXQLBAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalAddOrUpdate(addRec, updateRec);
+
+
+        // 数据同步到本地字典对应关系
+        extractedLocalRefAddOrUpdate(brandRec, addRec, updateRec);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedXQXL(Brand brandRec,JSONArray jsonArray) {
+        List<ItfTblAssignXqxlDowload> addRec = new ArrayList<>();
+        List<ItfTblAssignXqxlDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedXQXLAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalAddOrUPdate(addRec, updateRec);
+
+        // 数据同步到本地字典对应关系
+        extractedXQXLLocalRefAddOrUpdate(brandRec, addRec, updateRec);
+    }
+
+
+    private void extractedXQXLLocalRefAddOrUpdate(Brand brandRec, List<ItfTblAssignXqxlDowload> addRec, List<ItfTblAssignXqxlDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        List<SysDictRef> addSysDictRef = new ArrayList<>();
+        List<SysDictRef> updateSysDictRef = new ArrayList<>();
+
+        // 提取字典对应关系
+        List<SysDictRef> oldSysDictRefRec =  sysDictRefService.lambdaQuery()
+                .eq(SysDictRef::getBrandId, brandRec.getBrandId())
+                .eq(SysDictRef::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode()).list();
+        Map<String, List<SysDictRef>> oldSysDictRefRecMap = oldSysDictRefRec.stream().collect(Collectors.groupingBy(SysDictRef::getDictCode));
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignXqxlDowload item : addRec){
+                SysDictRef v = new SysDictRef();
+                v.setId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode());
+                v.setDictCode(String.valueOf(item.getId()));
+                v.setDictValue(item.getLbmc());
+                v.setSortNum(Integer.valueOf(item.getPxdj()));
+                v.setBrandId(brandRec.getBrandId());
+                v.setRefDictCode(String.valueOf(item.getId()));
+                v.setRefDictName(item.getLbmc());
+                v.setCreateTime(new Date());
+                v.setCreateBy("system");
+                addSysDictRef.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignXqxlDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDictRef v = oldSysDictRefRecMap.get(String.valueOf(item.getId())).get(0);
+                if (!v.getDictValue().equals(item.getLbmc())){
+                    v.setDictValue(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!v.getRefDictName().equals(item.getLbmc())){
+                    v.setRefDictName(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!v.getSortNum().equals(Integer.valueOf(item.getPxdj()))){
+                    v.setSortNum(Integer.valueOf(item.getPxdj()));
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    v.setUpdateBy("system");
+                    v.setUpdateTime(new Date());
+                    if (item.getLastModifiedBy()!=null){
+                        v.setUpdateBy(item.getLastModifiedBy());
+                    }
+                    if (item.getLastModifiedDate()!=null){
+                        v.setUpdateTime(item.getLastModifiedDate());
+                    }
+                    updateSysDictRef.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDictRef.size()>0){
+            sysDictRefService.saveBatch(addSysDictRef);
+            log.info("本地字典对应关系信息表新增插入了{}条数据",addSysDictRef.size());
+        }
+        // 更新
+        if (updateSysDictRef.size()>0){
+            sysDictRefService.updateBatchById(updateSysDictRef);
+            log.info("本地字典对应关系信息表更新修改了{}条数据", updateSysDictRef.size());
+        }
+    }
+
+    private void extractedLocalAddOrUPdate(List<ItfTblAssignXqxlDowload> addRec, List<ItfTblAssignXqxlDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+        Boolean flag = Boolean.FALSE;
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignXqxlDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_SMALL_TYPE.getCode());
+                v.setDictCode(String.valueOf(item.getId()));
+                v.setDictValue(item.getLbmc());
+                v.setSortNum(Integer.valueOf(item.getPxdj()));
+                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                }
+                v.setParentDictCode(item.getDaleiid());
+                v.setParentDictType(DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode());
+                v.setCreateTime(new Date());
+                if (item.getCreatedDate() !=null){
+                    v.setCreateTime(item.getCreatedDate());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignXqxlDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getId())).get(0);
+                if (!v.getDictValue().equals(item.getLbmc())){
+                    v.setDictValue(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                // 修改的为有效
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                } else {
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                }
+                if (!v.getSortNum().equals(Integer.valueOf(item.getPxdj()))){
+                    v.setSortNum(Integer.valueOf(item.getPxdj()));
+                    flag = Boolean.TRUE;
+                }
+                if (!v.getParentDictCode().equals(item.getDaleiid())){
+                    v.setParentDictCode(item.getDaleiid());
+                    flag = Boolean.TRUE;
+                }
+
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌需求小类本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌需求小类本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedXQXLAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXqxlDowload> addRec, List<ItfTblAssignXqxlDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblAssignXqxlDowload> oldRec =  itfTblAssignXqxlDowloadService.lambdaQuery().list();
+        List<String> oldRecId = oldRec.stream().map(ItfTblAssignXqxlDowload::getId).collect(Collectors.toList());
+        Map<String, List<ItfTblAssignXqxlDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXqxlDowload::getId));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblAssignXqxlDowload item = JSON.toJavaObject(aData,ItfTblAssignXqxlDowload.class);
+            // 新增或修改数据
+
+            // 修改
+            if (oldRecId.contains(item.getId())){
+                ItfTblAssignXqxlDowload old = oldRecMap.get(item.getId()).get(0);
+                if (old.getLbno() !=null || item.getLbno() !=null){
+                    if (old.getLbno() !=null && item.getLbno() !=null){
+                        if (!old.getLbno().equals(item.getLbno())){
+                            old.setLbno(item.getLbno());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getLbno() !=null) {
+                            old.setLbno(item.getLbno());
+                        } else {
+                            old.setLbno("");
+                        }
+                    }
+                }
+
+                if (!old.getLbmc().equals(item.getLbmc())){
+                    old.setLbmc(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getFlag().equals(item.getFlag())){
+                    old.setFlag(item.getFlag());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getDaleiid().equals(item.getDaleiid())){
+                    old.setDaleiid(item.getDaleiid());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblAssignXqxlDowloadService.saveBatch(addRec);
+            log.info("格力品牌需求小类信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblAssignXqxlDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌需求小类信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+
+    private void extractedLocalRefAddOrUpdate(Brand brandRec, List<ItfTblAssignXxlbDowload> addRec, List<ItfTblAssignXxlbDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        List<SysDictRef> addSysDictRef = new ArrayList<>();
+        List<SysDictRef> updateSysDictRef = new ArrayList<>();
+
+        // 提取字典对应关系
+        List<SysDictRef> oldSysDictRefRec =  sysDictRefService.lambdaQuery()
+                .eq(SysDictRef::getBrandId, brandRec.getBrandId())
+                .eq(SysDictRef::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode()).list();
+        Map<String, List<SysDictRef>> oldSysDictRefRecMap = oldSysDictRefRec.stream().collect(Collectors.groupingBy(SysDictRef::getDictCode));
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignXxlbDowload item : addRec){
+                SysDictRef v = new SysDictRef();
+                v.setId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode());
+                v.setDictCode(String.valueOf(item.getLbid()));
+                v.setDictValue(item.getLbmc());
+                v.setSortNum(item.getPxdj());
+                v.setBrandId(brandRec.getBrandId());
+                v.setRefDictCode(String.valueOf(item.getLbid()));
+                v.setRefDictName(item.getLbmc());
+                v.setCreateTime(new Date());
+                v.setCreateBy("system");
+                addSysDictRef.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignXxlbDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDictRef v = oldSysDictRefRecMap.get(String.valueOf(item.getLbid())).get(0);
+                if (!v.getDictValue().equals(item.getLbmc())){
+                    v.setDictValue(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!v.getRefDictName().equals(item.getLbmc())){
+                    v.setRefDictName(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    v.setUpdateBy("system");
+                    v.setUpdateTime(new Date());
+                    if (item.getLastModifiedBy()!=null){
+                        v.setUpdateBy(item.getLastModifiedBy());
+                    }
+                    if (item.getLastModifiedDate()!=null){
+                        v.setUpdateTime(item.getLastModifiedDate());
+                    }
+                    updateSysDictRef.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDictRef.size()>0){
+            sysDictRefService.saveBatch(addSysDictRef);
+            log.info("本地字典对应关系信息表新增插入了{}条数据",addSysDictRef.size());
+        }
+        // 更新
+        if (updateSysDictRef.size()>0){
+            sysDictRefService.updateBatchById(updateSysDictRef);
+            log.info("本地字典对应关系信息表更新修改了{}条数据", updateSysDictRef.size());
+        }
+    }
+
+    private void extractedLocalAddOrUpdate(List<ItfTblAssignXxlbDowload> addRec, List<ItfTblAssignXxlbDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+        Boolean flag = Boolean.FALSE;
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignXxlbDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_DEMAND_TYPE.getCode());
+                v.setDictCode(String.valueOf(item.getLbid()));
+                v.setDictValue(item.getLbmc());
+                v.setSortNum(item.getPxdj());
+                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                }
+                v.setCreateTime(new Date());
+                if (item.getCreatedDate() !=null){
+                    v.setCreateTime(item.getCreatedDate());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignXxlbDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getLbid())).get(0);
+                if (!v.getDictValue().equals(item.getLbmc())){
+                    v.setDictValue(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                // 修改的为有效
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                } else {
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌需求大类本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌需求大类本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedXQLBAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXxlbDowload> addRec, List<ItfTblAssignXxlbDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblAssignXxlbDowload> oldRec =  itfTblAssignXxlbDowloadService.lambdaQuery().list();
+        List<Long> oldRecLbId = oldRec.stream().map(ItfTblAssignXxlbDowload::getLbid).collect(Collectors.toList());
+        Map<Long, List<ItfTblAssignXxlbDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXxlbDowload::getLbid));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblAssignXxlbDowload item = JSON.toJavaObject(aData,ItfTblAssignXxlbDowload.class);
+            // 新增或修改数据
+
+            // 修改
+            if (oldRecLbId.contains(item.getLbid())){
+                ItfTblAssignXxlbDowload old = oldRecMap.get(item.getLbid()).get(0);
+                if (old.getLbno() !=null || item.getLbno() !=null){
+                    if (old.getLbno() !=null && item.getLbno() !=null){
+                        if (!old.getLbno().equals(item.getLbno())){
+                            old.setLbno(item.getLbno());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getLbno() !=null) {
+                            old.setLbno(item.getLbno());
+                        } else {
+                            old.setLbno("");
+                        }
+                    }
+                }
+
+                if (!old.getLbmc().equals(item.getLbmc())){
+                    old.setLbmc(item.getLbmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getFlag().equals(item.getFlag())){
+                    old.setFlag(item.getFlag());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblAssignXxlbDowloadService.saveBatch(addRec);
+            log.info("格力品牌需求大类信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblAssignXxlbDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌需求大类信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+
+
+
+}

+ 682 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPYHSXXXQDServiceImpl.java

@@ -0,0 +1,682 @@
+package com.zfire.jiasm.syncdata.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zfire.jiasm.syncdata.constant.DictTypeEnum;
+import com.zfire.jiasm.syncdata.plus.entity.*;
+import com.zfire.jiasm.syncdata.plus.service.*;
+import com.zfire.jiasm.syncdata.service.GLPPYHSXXXQDService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+@Slf4j
+@Service
+public class GLPPYHSXXXQDServiceImpl implements GLPPYHSXXXQDService {
+    @Resource
+    SysDictService sysDictService;
+    @Resource
+    ItfTblAssignYhsxWxDowloadService itfTblAssignYhsxWxDowloadService;
+    @Resource
+    ItfTblAssignXxqdDowloadService itfTblAssignXxqdDowloadService;
+    @Resource
+    ItfTblAssignXxlyDowloadService itfTblAssignXxlyDowloadService;
+    @Resource
+    ItfTblYhsxViprankDowloadService itfTblYhsxViprankDowloadService;
+
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedYHSX(JSONArray jsonArray) {
+        List<ItfTblAssignYhsxWxDowload> addRec = new ArrayList<>();
+        List<ItfTblAssignYhsxWxDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedYHSXAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalYHSXAddOrUpdate(addRec, updateRec);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedYHDJ(JSONArray jsonArray) {
+        List<ItfTblYhsxViprankDowload> addRec = new ArrayList<>();
+        List<ItfTblYhsxViprankDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedYHDJAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalYHDJAddOrUpdate(addRec, updateRec);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedXXQD(JSONArray jsonArray){
+        List<ItfTblAssignXxqdDowload> addRec = new ArrayList<>();
+        List<ItfTblAssignXxqdDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedXXQDAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalXXQDAddOrUpdate(addRec, updateRec);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void extractedXXLY(JSONArray jsonArray){
+        List<ItfTblAssignXxlyDowload> addRec = new ArrayList<>();
+        List<ItfTblAssignXxlyDowload> updateRec = new ArrayList<>();
+
+        // 数据同步落到同步信息表
+        extractedXXLYAddOrUpdate(jsonArray, addRec, updateRec);
+
+        // 数据同步到本地字典表
+        extractedLocalXXLYAddOrUpdate(addRec, updateRec);
+    }
+
+
+
+    private void extractedLocalYHDJAddOrUpdate(List<ItfTblYhsxViprankDowload> addRec, List<ItfTblYhsxViprankDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+        Boolean flag = Boolean.FALSE;
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_USER_LEVEL.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblYhsxViprankDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_USER_LEVEL.getCode());
+                v.setDictCode(String.valueOf(item.getVipid()));
+                v.setDictValue(item.getVipmc());
+                v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                v.setSortNum(item.getPxdj());
+                v.setCreateTime(new Date());
+                if (item.getCjdt() !=null){
+                    v.setCreateTime(item.getCjdt());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblYhsxViprankDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getVipid())).get(0);
+                if (!v.getDictValue().equals(item.getVipmc())){
+                    v.setDictValue(item.getVipmc());
+                    flag = Boolean.TRUE;
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌用户等级本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌用户等级本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedYHDJAddOrUpdate(JSONArray jsonArray, List<ItfTblYhsxViprankDowload> addRec, List<ItfTblYhsxViprankDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblYhsxViprankDowload> oldRec =  itfTblYhsxViprankDowloadService.lambdaQuery().list();
+        List<Long> oldRecVipId = oldRec.stream().map(ItfTblYhsxViprankDowload::getVipid).collect(Collectors.toList());
+        Map<Long, List<ItfTblYhsxViprankDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblYhsxViprankDowload::getVipid));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblYhsxViprankDowload item = JSON.toJavaObject(aData,ItfTblYhsxViprankDowload.class);
+            // 新增或修改数据
+            // 修改
+            if (oldRecVipId.contains(item.getVipid().longValue())){
+                ItfTblYhsxViprankDowload old = oldRecMap.get(item.getVipid()).get(0);
+                if (!old.getVipmc().equals(item.getVipmc())){
+                    old.setVipmc(item.getVipmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblYhsxViprankDowloadService.saveBatch(addRec);
+            log.info("格力品牌用户等级信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblYhsxViprankDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌用户等级信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+
+    private void extractedLocalXXLYAddOrUpdate(List<ItfTblAssignXxlyDowload> addRec, List<ItfTblAssignXxlyDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+        Boolean flag = Boolean.FALSE;
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_XXQD_SOURCE.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignXxlyDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_XXQD_SOURCE.getCode());
+                v.setDictCode(String.valueOf(item.getLyid()));
+                v.setDictValue(item.getLymc());
+                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                }
+                v.setSortNum(item.getPxdj());
+                v.setCreateTime(new Date());
+                if (item.getCjdt() !=null){
+                    v.setCreateTime(item.getCjdt());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignXxlyDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getLyid())).get(0);
+                if (!v.getDictValue().equals(item.getLymc())){
+                    v.setDictValue(item.getLymc());
+                    flag = Boolean.TRUE;
+                }
+                // 修改的为有效
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                } else {
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌用户属性本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌用户属性本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedXXLYAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXxlyDowload> addRec, List<ItfTblAssignXxlyDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblAssignXxlyDowload> oldRec =  itfTblAssignXxlyDowloadService.lambdaQuery().list();
+        List<Long> oldRecQdId = oldRec.stream().map(ItfTblAssignXxlyDowload::getLyid).collect(Collectors.toList());
+        Map<Long, List<ItfTblAssignXxlyDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXxlyDowload::getLyid));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblAssignXxlyDowload item = JSON.toJavaObject(aData,ItfTblAssignXxlyDowload.class);
+            // 新增或修改数据
+            // 修改
+            if (oldRecQdId.contains(item.getLyid())){
+                ItfTblAssignXxlyDowload old = oldRecMap.get(item.getLyid()).get(0);
+                if (old.getLyno() !=null || item.getLyno() !=null){
+                    if (old.getLyno() !=null && item.getLyno() !=null){
+                        if (!old.getLyno().equals(item.getLyno())){
+                            old.setLyno(item.getLyno());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getLyno() !=null) {
+                            old.setLyno(item.getLyno());
+                        } else {
+                            old.setLyno("");
+                        }
+                    }
+                }
+
+                if (!old.getLymc().equals(item.getLymc())){
+                    old.setLymc(item.getLymc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getFlag().equals(item.getFlag())){
+                    old.setFlag(item.getFlag());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblAssignXxlyDowloadService.saveBatch(addRec);
+            log.info("格力品牌信息来源信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblAssignXxlyDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌信息来源信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+
+    private void extractedLocalXXQDAddOrUpdate(List<ItfTblAssignXxqdDowload> addRec, List<ItfTblAssignXxqdDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+        Boolean flag = Boolean.FALSE;
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_XXQD_CHANNEL.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignXxqdDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_XXQD_CHANNEL.getCode());
+                v.setDictCode(String.valueOf(item.getQdid()));
+                v.setDictValue(item.getQdmc());
+                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                }
+                v.setSortNum(item.getPxdj());
+                v.setCreateTime(new Date());
+                if (item.getCjdt() !=null){
+                    v.setCreateTime(item.getCjdt());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignXxqdDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getQdid())).get(0);
+                if (!v.getDictValue().equals(item.getQdmc())){
+                    v.setDictValue(item.getQdmc());
+                    flag = Boolean.TRUE;
+                }
+                // 修改的为有效
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                } else {
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌用户属性本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌用户属性本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedXXQDAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignXxqdDowload> addRec, List<ItfTblAssignXxqdDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblAssignXxqdDowload> oldRec =  itfTblAssignXxqdDowloadService.lambdaQuery().list();
+        List<Long> oldRecQdId = oldRec.stream().map(ItfTblAssignXxqdDowload::getQdid).collect(Collectors.toList());
+        Map<Long, List<ItfTblAssignXxqdDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignXxqdDowload::getQdid));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblAssignXxqdDowload item = JSON.toJavaObject(aData,ItfTblAssignXxqdDowload.class);
+            // 新增或修改数据
+            // 修改
+            if (oldRecQdId.contains(item.getQdid())){
+                ItfTblAssignXxqdDowload old = oldRecMap.get(item.getQdid()).get(0);
+                if (old.getQdno() !=null || item.getQdno() !=null){
+                    if (old.getQdno() !=null && item.getQdno() !=null){
+                        if (!old.getQdno().equals(item.getQdno())){
+                            old.setQdno(item.getQdno());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getQdno() !=null) {
+                            old.setQdno(item.getQdno());
+                        } else {
+                            old.setQdno("");
+                        }
+                    }
+                }
+
+                if (!old.getQdmc().equals(item.getQdmc())){
+                    old.setQdmc(item.getQdmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getFlag().equals(item.getFlag())){
+                    old.setFlag(item.getFlag());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblAssignXxqdDowloadService.saveBatch(addRec);
+            log.info("格力品牌信息渠道信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblAssignXxqdDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌信息渠道信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+
+
+    private void extractedLocalYHSXAddOrUpdate(List<ItfTblAssignYhsxWxDowload> addRec, List<ItfTblAssignYhsxWxDowload> updateRec) {
+        List<SysDict> addSysDict = new ArrayList<>();
+        List<SysDict> updateSysDict = new ArrayList<>();
+
+        // 提取大类字典数据  sysDictService
+        List<SysDict> oldSysDictRec =  sysDictService.lambdaQuery().eq(SysDict::getDictType, DictTypeEnum.DICT_TYPE_USER_ATTR.getCode()).list();
+        Map<String, List<SysDict>> oldSysDictRecMap = oldSysDictRec.stream().collect(Collectors.groupingBy(SysDict::getDictCode));
+
+        Boolean flag = Boolean.FALSE;
+
+        // 获取新增的
+        if (addRec.size()>0){
+            for (ItfTblAssignYhsxWxDowload item : addRec){
+                SysDict v = new SysDict();
+                v.setSysDictId(UUID.randomUUID().toString());
+                v.setDictType(DictTypeEnum.DICT_TYPE_USER_ATTR.getCode());
+                v.setDictCode(String.valueOf(item.getYhsxid()));
+                v.setDictValue(item.getYhsxmc());
+                v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                }
+                v.setSortNum(item.getPxdj());
+                v.setCreateTime(new Date());
+                if (item.getCjdt() !=null){
+                    v.setCreateTime(item.getCjdt());
+                }
+                addSysDict.add(v);
+            }
+        }
+        // 获取修改的
+        if (updateRec.size()>0){
+            for (ItfTblAssignYhsxWxDowload item : updateRec){
+                flag = Boolean.FALSE;
+                SysDict v = oldSysDictRecMap.get(String.valueOf(item.getYhsxid())).get(0);
+                if (!v.getDictValue().equals(item.getYhsxmc())){
+                    v.setDictValue(item.getYhsxmc());
+                    flag = Boolean.TRUE;
+                }
+                // 修改的为有效
+                if (item.getFlag().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_OFF.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                } else {
+                    if (v.getStatus().equals(DictTypeEnum.DICT_TYPE_ON.getCode())){
+                        v.setStatus(DictTypeEnum.DICT_TYPE_OFF.getCode());
+                        flag = Boolean.TRUE;
+                    }
+                }
+                if (v.getSortNum() != item.getPxdj()){
+                    v.setSortNum(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    updateSysDict.add(v);
+                }
+            }
+        }
+
+        // 新增的插入到表
+        if (addSysDict.size()>0){
+            sysDictService.saveBatch(addSysDict);
+            log.info("格力品牌用户属性本地字典信息表新增插入了{}条数据",addSysDict.size());
+        }
+        // 更新
+        if (updateSysDict.size()>0){
+            sysDictService.updateBatchById(updateSysDict);
+            log.info("格力品牌用户属性本地字典信息表更新修改了{}条数据", updateSysDict.size());
+        }
+    }
+
+    private void extractedYHSXAddOrUpdate(JSONArray jsonArray, List<ItfTblAssignYhsxWxDowload> addRec, List<ItfTblAssignYhsxWxDowload> updateRec) {
+        Boolean flag = Boolean.FALSE;
+        String synTaskNo = UUID.randomUUID().toString();
+        // 提取现有的数据信息
+        List<ItfTblAssignYhsxWxDowload> oldRec =  itfTblAssignYhsxWxDowloadService.lambdaQuery().list();
+        List<Long> oldRecYhsxId = oldRec.stream().map(ItfTblAssignYhsxWxDowload::getYhsxid).collect(Collectors.toList());
+        Map<Long, List<ItfTblAssignYhsxWxDowload>> oldRecMap = oldRec.stream().collect(Collectors.groupingBy(ItfTblAssignYhsxWxDowload::getYhsxid));
+        for (int i = 0; i < jsonArray.size(); i++) {
+            flag = Boolean.FALSE;
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblAssignYhsxWxDowload item = JSON.toJavaObject(aData,ItfTblAssignYhsxWxDowload.class);
+            // 新增或修改数据
+
+            // 修改
+            if (oldRecYhsxId.contains(item.getYhsxid())){
+                ItfTblAssignYhsxWxDowload old = oldRecMap.get(item.getYhsxid()).get(0);
+                if (!old.getYhsxmc().equals(item.getYhsxmc())){
+                    old.setYhsxmc(item.getYhsxmc());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getPxdj().equals(item.getPxdj())){
+                    old.setPxdj(item.getPxdj());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getFlag().equals(item.getFlag())){
+                    old.setFlag(item.getFlag());
+                    flag = Boolean.TRUE;
+                }
+                if (old.getYhsxmcvl() !=null || item.getYhsxmcvl() !=null){
+                    if (old.getYhsxmcvl() !=null && item.getYhsxmcvl() !=null){
+                        if (!old.getYhsxmcvl().equals(item.getYhsxmcvl())){
+                            old.setYhsxmcvl(item.getYhsxmcvl());
+                            flag = Boolean.TRUE;
+                        }
+                    } else {
+                        flag = Boolean.TRUE;
+                        if (item.getYhsxmcvl() !=null) {
+                            old.setYhsxmcvl(item.getYhsxmcvl());
+                        } else {
+                            old.setYhsxmcvl("");
+                        }
+                    }
+                }
+                if (!old.getIfdx().equals(item.getIfdx())){
+                    old.setIfdx(item.getIfdx());
+                    flag = Boolean.TRUE;
+                }
+                if (!old.getRols().equals(item.getRols())){
+                    old.setRols(item.getRols());
+                    flag = Boolean.TRUE;
+                }
+                if (flag){
+                    old.setLastModifiedBy("system");
+                    old.setLastModifiedDate(new Date());
+                    // 操作人
+                    if (item.getLastModifiedBy() != null){
+                        old.setLastModifiedBy(item.getLastModifiedBy());
+                    }
+                    // 修改时间
+                    if (item.getLastModifiedDate() != null){
+                        old.setLastModifiedDate(item.getLastModifiedDate());
+                    }
+                    updateRec.add(old);
+                }
+            } else {
+                // 新增
+                item.setSynTaskNo(synTaskNo);
+                if (item.getCreatedBy() ==null){
+                    item.setCreatedBy("system");
+                }
+                if (item.getCreatedDate() == null){
+                    item.setCreatedDate(new Date());
+                }
+                addRec.add(item);
+            }
+        }
+        // 新增的插入到表
+        if (addRec.size()>0){
+            itfTblAssignYhsxWxDowloadService.saveBatch(addRec);
+            log.info("格力品牌用户属性信息同步新增插入了{}条数据", addRec.size());
+        }
+
+        // 更新
+        if (updateRec.size()>0){
+            itfTblAssignYhsxWxDowloadService.updateBatchById(updateRec);
+            log.info("格力品牌用户属性信息同步更新修改了{}条数据", updateRec.size());
+        }
+    }
+
+
+
+
+
+}