From aeb7d068be92312dcdcea75e1240bcf2a78dd0fe Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 29 Jul 2024 16:49:58 +0800
Subject: [PATCH] 代码优化
---
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 37 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
index 2ff5910..c16dfe0 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
@@ -1,10 +1,14 @@
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;
+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 +26,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 +116,6 @@
}
@Override
- @Transactional(rollbackFor = Exception.class)
public boolean SynchronizeData(EcOrderParamDTO ecOrderParamDTO) {
processPages(100, ecOrderParamDTO);
return true;
@@ -120,25 +123,49 @@
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());
+ }
+ // 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);
- recordEntityList.forEach(ecOrderEntity -> {
- // 点落面 设置警格网格信息
- setGridInfo(ecOrderEntity);
+ List<ECallEventTwoEntity> addList = new ArrayList<>();
+ List<ECallEventTwoEntity> updateList = new ArrayList<>();
+ // 过滤出已同步的订单
+ recordEntityList.forEach(record -> {
+ long count1 = ecOrderService.count(Wrappers.<ECallEventTwoEntity>lambdaQuery().eq(ECallEventTwoEntity::getOrderCode, record.getOrderCode()));
+ if (count1 == 0) {
+ addList.add(record);
+ } else {
+ updateList.add(record);
+ }
});
- boolean b = ecOrderService.saveBatch(recordEntityList);
+ // 同步订单
+ boolean b = false;
+ if (addList.size() > 0) {
+ b = ecOrderService.saveBatch(addList);
+ }
+ if (updateList.size() > 0) {
+ b = ecOrderService.saveOrUpdateBatch(updateList);
+ }
System.out.println("更新第" + pageNum + "页" + b);
}
}
+ @Override
+ @DS("master")
+ public boolean saveEcOrder(List<ECallEventTwoEntity> recordEntityList) {
+ return false;
+ }
+
+
/**
* 设置警格网格信息
*
--
Gitblit v1.9.3