From 78aa13519988a2a9f1afd34f27ba8a544b915718 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 25 Oct 2023 09:41:28 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=80=81=E7=B3=BB=E7=BB=9F=E5=8D=B8=E5=88=86?= =?UTF-8?q?=E4=B8=80=E4=BD=93=E6=95=B0=E6=8D=AE=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FactoryCommonServiceImpl.java | 14 ++++++++++++++ .../service/impl/PanFactoryDataServiceImpl.java | 7 +++++++ .../factory/receiver/DealWithDataHandler.java | 10 ++++++---- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java index 28ba1b8e6..e7dac41e7 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java @@ -14,6 +14,8 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.exception.CustomerException; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -31,9 +33,21 @@ public class FactoryCommonServiceImpl implements IFactoryCommonService { private final ITrayClient trayClient; private final ITrayScanClient trayScanClient; + private final BladeRedis bladeRedis; @Override public void syncTrayTypeData(String unitNo, Integer trayId, String oldWarehouseId) { + + //先判断是否两个数据已经执行完成 + String ruku = bladeRedis.get("arrive-"+unitNo); + String tray = bladeRedis.get("tray-"+unitNo); + + if(StringUtil.isBlank(ruku) || StringUtil.isBlank(tray)){ + log.error("###############syncTrayTypeData: 数据不完整,暂不打托 ruku={} tray={}",ruku,tray); + throw new CustomerException(403,"数据不完整,暂不打托"); + } + + log.info("###############syncTrayTypeData: 包件打托开始 unitNo={} trayId={} oldWarehouseId={}",unitNo,trayId,oldWarehouseId); //先判断新系统仓库信息是否存在 BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getWarehouseByOldId(Integer.parseInt(oldWarehouseId)); diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java index 8a9817232..1a63f0e9b 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java @@ -49,6 +49,7 @@ import org.springblade.common.constant.order.*; import org.springblade.common.constant.orderpackage.*; import org.springblade.common.exception.CustomerException; import org.springblade.common.utils.CommonUtil; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.core.tool.utils.StringUtil; @@ -93,6 +94,8 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final ITrayScanClient trayScanClient; private final IWarehouseTrayTypeClient warehouseTrayTypeClient; + private final BladeRedis bladeRedis; + // @Override // public FactoryTokenVO getToken(String corpId, String appKey, String appSecret) throws NoSuchAlgorithmException { // @@ -552,6 +555,10 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { //已存在包件信息那就不处理 logger.info("#################handleDataToPlatform: 包件信息已存在,不用处理 unitNo={}", unitNo); } + + //存入包条缓存 + bladeRedis.setEx("arrive-"+unitNo,unitNo,30L); + } private void saveTrayTypeInfoPackage(String unitNo,Integer oldWarehouseId,Long newWarehouseId) { diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java index b6ad1446c..68cd0f347 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java @@ -8,6 +8,7 @@ import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; import org.springblade.common.exception.CustomerException; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.utils.StringUtil; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; @@ -35,6 +36,8 @@ public class DealWithDataHandler { private IPanFactoryDataService panFactoryDataService; @Autowired private IFactoryCommonService factoryCommonService; + @Autowired + private BladeRedis bladeRedis; private Integer retryCount = 1; @@ -70,12 +73,11 @@ public class DealWithDataHandler { if ("4".equals(status)) { panFactoryDataService.handleDataToPlatform(unitNo, operationTime); }else if("2".equals(status)){ -// //同步打托数据 -// if(!Objects.isNull(trayId)){ -// factoryCommonService.syncTrayTypeData(unitNo,trayId,currentWarehouseId); -// } + bladeRedis.setEx("tray-"+unitNo,unitNo,30L); } + //同步打托数据 + factoryCommonService.syncTrayTypeData(unitNo,trayId,currentWarehouseId); } catch (Exception e) { e.printStackTrace();