linwe
2024-07-11 7d430038a922f02678a9ee3df1aed0d8ab33e0d5
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
@@ -1,6 +1,7 @@
package org.springblade.modules.eCallEventTwo.service.impl;
import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSON;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -125,27 +126,34 @@
      if (StringUtils.isNotBlank(ecOrderParamDTO.getStartTime()) && StringUtils.isNotEmpty(ecOrderParamDTO.getEndTime())) {
         ecOrderQueryWrapper.between("import_time", ecOrderParamDTO.getStartTime(), ecOrderParamDTO.getEndTime());
      }
      // System.out.println("**********参数**************************" + JSON.toJSONString(ecOrderParamDTO));
      long count = count(ecOrderQueryWrapper);
      System.out.println("**********总数**************************" + count);
      int totalPages = (int) Math.ceil((double) count / pageSize); // 计算总页数
      for (int pageNum = 1; pageNum <= totalPages; pageNum++) {
         Page<EcOrder> page = new Page<>(pageNum, pageSize);
         QueryWrapper<EcOrder> objectQueryWrapper = new QueryWrapper<>();
         IPage<EcOrder> resultPage = baseMapper.selectPage(page, objectQueryWrapper);
         IPage<EcOrder> resultPage = baseMapper.selectPage(page, ecOrderQueryWrapper);
         List<EcOrder> records = resultPage.getRecords();
         List<ECallEventTwoEntity> recordEntityList = BeanUtil.copy(records, ECallEventTwoEntity.class);
         List<ECallEventTwoEntity> arrayList = new ArrayList<>();
         List<ECallEventTwoEntity> addList = new ArrayList<>();
         List<ECallEventTwoEntity> updateList = new ArrayList<>();
         // 过滤出已同步的订单
         recordEntityList.forEach(record -> {
            long count1 = ecOrderService.count(Wrappers.<ECallEventTwoEntity>lambdaQuery().eq(ECallEventTwoEntity::getOrderId, record.getOrderId()));
            long count1 = ecOrderService.count(Wrappers.<ECallEventTwoEntity>lambdaQuery().eq(ECallEventTwoEntity::getOrderCode, record.getOrderCode()));
            if (count1 == 0) {
               arrayList.add(record);
               addList.add(record);
            } else {
               updateList.add(record);
            }
         });
         // 同步订单
         boolean b = false;
         if (arrayList.size() > 0) {
            b = ecOrderService.saveOrUpdateBatch(arrayList);
         if (addList.size() > 0) {
            b = ecOrderService.saveBatch(addList);
         }
         if (updateList.size() > 0) {
            b = ecOrderService.saveOrUpdateBatch(updateList);
         }
         System.out.println("更新第" + pageNum + "页" + b);
      }