From 7db4d934140bb135723a5c6e8de64277ec9979aa Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 5 Dec 2024 18:57:31 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OpenOrderServiceImpl.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index e510f6dd8..5df0c6017 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -522,6 +522,19 @@ public class OpenOrderServiceImpl implements IOpenOrderService { String waybillNo = openOrderDTO.getWaybillNo();//运单号 Long warehouseId = openOrderDTO.getWarehouseId(); List advanceIds = openOrderDTO.getAdvanceIds(); + advanceIds.forEach(advanceId -> { + + String key = openAdvanceIds+advanceId; + Boolean exists = bladeRedis.exists(key); + if(exists){ + log.warn("#############openWaybill: 暂存单正在开单 advanceId={}", advanceId); + throw new CustomerException(405,"暂存单["+advanceId+"]正在开单"); + }else{ + bladeRedis.setEx(key, 1,30L); + } + }); + + //查询开单订单缓存是否存在 List advanceEntities = advanceService.findListByIds(advanceIds); @@ -534,16 +547,6 @@ public class OpenOrderServiceImpl implements IOpenOrderService { log.warn("#############openWaybill: 暂存单已开单 orderCode={}", orderCode); throw new CustomerException(405,"暂存单["+orderCode+"]已开单"); } - - String key = openAdvanceIds+advanceId; - Boolean exists = bladeRedis.exists(key); - if(exists){ - log.warn("#############openWaybill: 暂存单正在开单 orderCode={}", orderCode); - throw new CustomerException(405,"暂存单["+orderCode+"]正在开单"); - }else{ - bladeRedis.setEx(key, 1,30L); - } - }); BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId);