linwe
2024-07-08 7a1e4d9fe3fe2172d5c4fba524f17ffd73ffbb3e
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
@@ -1,10 +1,13 @@
package org.springblade.modules.eCallEventTwo.service.impl;
import cn.hutool.core.convert.Convert;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -22,10 +25,10 @@
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -112,7 +115,6 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean SynchronizeData(EcOrderParamDTO ecOrderParamDTO) {
      processPages(100, ecOrderParamDTO);
      return true;
@@ -120,8 +122,10 @@
   public void processPages(int pageSize, EcOrderParamDTO ecOrderParamDTO) {
      QueryWrapper<EcOrder> ecOrderQueryWrapper = new QueryWrapper<>();
      ecOrderQueryWrapper.between("import_time", ecOrderParamDTO.getStartTime(), ecOrderParamDTO.getEndTime());
      long count = baseMapper.selectCount(ecOrderQueryWrapper);
      if (StringUtils.isNotBlank(ecOrderParamDTO.getStartTime()) && StringUtils.isNotEmpty(ecOrderParamDTO.getEndTime())) {
         ecOrderQueryWrapper.between("import_time", ecOrderParamDTO.getStartTime(), ecOrderParamDTO.getEndTime());
      }
      long count = count(ecOrderQueryWrapper);
      int totalPages = (int) Math.ceil((double) count / pageSize); // 计算总页数
      for (int pageNum = 1; pageNum <= totalPages; pageNum++) {
@@ -130,15 +134,30 @@
         IPage<EcOrder> resultPage = baseMapper.selectPage(page, objectQueryWrapper);
         List<EcOrder> records = resultPage.getRecords();
         List<ECallEventTwoEntity> recordEntityList = BeanUtil.copy(records, ECallEventTwoEntity.class);
         recordEntityList.forEach(ecOrderEntity -> {
            // 点落面 设置警格网格信息
            setGridInfo(ecOrderEntity);
         List<ECallEventTwoEntity> arrayList = new ArrayList<>();
         // 过滤出已同步的订单
         recordEntityList.forEach(record -> {
            long count1 = ecOrderService.count(Wrappers.<ECallEventTwoEntity>lambdaQuery().eq(ECallEventTwoEntity::getOrderId, record.getOrderId()));
            if (count1 == 0) {
               arrayList.add(record);
            }
         });
         boolean b = ecOrderService.saveBatch(recordEntityList);
         // 同步订单
         boolean b = false;
         if (arrayList.size() > 0) {
            b = ecOrderService.saveOrUpdateBatch(arrayList);
         }
         System.out.println("更新第" + pageNum + "页" + b);
      }
   }
   @Override
   @DS("master")
   public boolean saveEcOrder(List<ECallEventTwoEntity> recordEntityList) {
      return false;
   }
   /**
    * 设置警格网格信息
    *