From 632ff5a0dde3ae791b9bc30eec166a1a7ab5f27b Mon Sep 17 00:00:00 2001 From: yangsb Date: Sun, 28 Apr 2024 17:41:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=B9=E9=87=8F=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E6=96=B9=E6=B3=95=EF=BC=8C=E6=8C=891000=E6=9D=A1?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/order/OrderInputProcessor.java | 61 +++++++++++++------ 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java index e04efe799..93e198fe5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java @@ -237,16 +237,16 @@ public class OrderInputProcessor { orderItemDO.setType(1); plateDOS.add(plateDO); orderModelDOS.add( - OrderModelDO.builder() - .orderId(orderId) - .plateId(plateDO.getId()) - .contourDetail(e.getContourDetail()) - .pointDetail(e.getPointDetail()) - .holeDetail(e.getHoleDetail()) - .rawPointDetail(e.getRawPointDetail()) - .sideHoleDetail(e.getSideHoleDetail()) - .sideModelDetail(e.getSideModelDetail()) - .build()); + OrderModelDO.builder() + .orderId(orderId) + .plateId(plateDO.getId()) + .contourDetail(e.getContourDetail()) + .pointDetail(e.getPointDetail()) + .holeDetail(e.getHoleDetail()) + .rawPointDetail(e.getRawPointDetail()) + .sideHoleDetail(e.getSideHoleDetail()) + .sideModelDetail(e.getSideModelDetail()) + .build()); } else { OrderPartsDO orderPartsDO = OrderPartsDO.builder() .id(identifierGenerator.nextId(null).longValue()) @@ -295,13 +295,36 @@ public class OrderInputProcessor { public void batchInsert(Collection rawGoodsDOS, Collection orderBodyDOS, Collection orderGroupDOS, Collection orderPartsDOS, Collection plateDOS, Collection orderModuleExtraDOS, Collection itemDOS) { - rawGoodsMapper.insertBatch(rawGoodsDOS); - orderBodyMapper.insertBatch(orderBodyDOS); - orderGroupMapper.insertBatch(orderGroupDOS); - orderPartsMapper.insertBatch(orderPartsDOS); - plateMapper.insertBatch(plateDOS); - orderModuleExtraMapper.insertBatch(orderModuleExtraDOS); - orderItemMapper.insertBatch(itemDOS); + + for (int i = 0; i < rawGoodsDOS.size(); i += 1000) { + rawGoodsMapper.insertBatch(rawGoodsDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + for (int i = 0; i < orderBodyDOS.size(); i += 1000) { + orderBodyMapper.insertBatch(orderBodyDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + for (int i = 0; i < orderGroupDOS.size(); i += 1000) { + orderGroupMapper.insertBatch(orderGroupDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + for (int i = 0; i < orderPartsDOS.size(); i += 1000) { + orderPartsMapper.insertBatch(orderPartsDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + for (int i = 0; i < plateDOS.size(); i += 1000) { + plateMapper.insertBatch(plateDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + for (int i = 0; i < orderModuleExtraDOS.size(); i += 1000) { + orderModuleExtraMapper.insertBatch(orderModuleExtraDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + for (int i = 0; i < itemDOS.size(); i += 1000) { + orderItemMapper.insertBatch(itemDOS.stream().skip(i).limit(1000).collect(Collectors.toList())); + } + + //rawGoodsMapper.insertBatch(rawGoodsDOS); + //orderBodyMapper.insertBatch(orderBodyDOS); + //orderGroupMapper.insertBatch(orderGroupDOS); + //orderPartsMapper.insertBatch(orderPartsDOS); + //plateMapper.insertBatch(plateDOS); + //orderModuleExtraMapper.insertBatch(orderModuleExtraDOS); + //orderItemMapper.insertBatch(itemDOS); } /** @@ -313,9 +336,9 @@ public class OrderInputProcessor { try { BulkResponse bulkResponse = esDocumentService.bulkCreate(ORDER_PLATE_MODEL, orderModelDOs); boolean errors = bulkResponse.errors(); - if(errors) { + if (errors) { log.error(bulkResponse.items().toString()); - throw new ServiceException(500,"未知异常"); + throw new ServiceException(500, "未知异常"); } } catch (Exception e) { e.printStackTrace();