From fd511db4283e98f77ae39d9780ef2d3e2c443529 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Sat, 6 Apr 2024 21:15:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=9A=84=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/RedisKeyConstant.java | 3 + .../entity/BasicdataWarehouseEntity.java | 2 +- .../feign/BasicdataWarehouseClient.java | 58 +++++++++++++++---- .../DistributionSignforAppController.java | 15 +++-- 4 files changed, 61 insertions(+), 17 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java index b6ff47599..5633f055d 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java @@ -18,5 +18,8 @@ public class RedisKeyConstant { */ public static final String TASK_QUEST_CHILD_KEY ="cache:task-quest-child-key:"; + public static final String BASIC_DATA_WAREHOUSE_KEY ="cache:basic-data-list:"; + + } diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataWarehouseEntity.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataWarehouseEntity.java index 39fbc2e19..aba5e763b 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataWarehouseEntity.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataWarehouseEntity.java @@ -110,7 +110,7 @@ public class BasicdataWarehouseEntity extends TenantEntity { * 基地仓 */ @ApiModelProperty(value = "基地仓") - private Integer functionType; + private String functionType; /** * 备注 */ diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java index ea0e2dc7d..419bfb59c 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java @@ -19,14 +19,19 @@ package com.logpm.basicdata.feign; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.service.IBasicdataWarehouseService; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.RedisKeyConstant; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.cache.CacheKey; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -46,10 +51,13 @@ import java.util.Objects; @ApiIgnore() @RestController @AllArgsConstructor +@Slf4j public class BasicdataWarehouseClient implements IBasicdataWarehouseClient { private final IBasicdataWarehouseService warehouseWarehouseService; + private final BladeRedis bladeRedis; + @Override @GetMapping(TOP) public BladePage topWarehouse(Integer current, Integer size) { @@ -97,18 +105,40 @@ public class BasicdataWarehouseClient implements IBasicdataWarehouseClient { @Override public BasicdataWarehouseEntity getWarehouseEntityByWarehouseCode(String warehouseCode) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("warehouse_code",warehouseCode) - .eq("is_deleted",0) - .eq("enable_status",2); - List list = warehouseWarehouseService.list(queryWrapper); - if(!Objects.isNull(list) && !list.isEmpty()){ - return list.get(0); - }else{ - return null; + String key =RedisKeyConstant.BASIC_DATA_WAREHOUSE_KEY + warehouseCode; + BasicdataWarehouseEntity o = bladeRedis.get(key); + log.info(">>> 获取的仓库的信息 o ={}",o); + if(ObjectUtils.isNull(o)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("warehouse_code",warehouseCode) + .eq("is_deleted",0) + .eq("enable_status",2); + List list = warehouseWarehouseService.list(queryWrapper); + if(!Objects.isNull(list) && !list.isEmpty()){ + + // 寻找中心仓 + for (BasicdataWarehouseEntity basicdataWarehouseEntity : list) { + if(basicdataWarehouseEntity.getFunctionType().equals("2")){ + o = basicdataWarehouseEntity; + } + } + // 找不到 就去第一个 + if(ObjectUtils.isNull(o)){ + o= list.get(0); + } + + // 设定缓存时间 1小时的缓存时间 + bladeRedis.setEx(key,o, 60 * 60L); + } + } + + return o; + + + } @@ -159,11 +189,19 @@ public class BasicdataWarehouseClient implements IBasicdataWarehouseClient { @Override @GetMapping(WAREHOUSEBYDEPARTMENT) public BasicdataWarehouseEntity getWarehouseByDepartment(String deptId) { + + + + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("department",deptId) .eq("is_deleted",0) .eq("enable_status",2); - return warehouseWarehouseService.getOne(queryWrapper); + List list = warehouseWarehouseService.list(queryWrapper); + + + + return list.get(0); } @Override diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java index 7a1aa630a..09b1465e6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java @@ -152,14 +152,17 @@ public class DistributionSignforAppController { List packageCodes = (List) r.getData(); log.info("#############signfor:"+time+" 处理下架的包件 packageCodes={}",packageCodes); String orderPackageCodes = null; - for (String packageCode : packageCodes) { - if(StringUtils.isBlank(orderPackageCodes)){ - orderPackageCodes = packageCode; - }else{ - orderPackageCodes = orderPackageCodes + "," + packageCode; + if(packageCodes!=null){ + for (String packageCode : packageCodes) { + if(StringUtils.isBlank(orderPackageCodes)){ + orderPackageCodes = packageCode; + }else{ + orderPackageCodes = orderPackageCodes + "," + packageCode; + } } + updownTypeClient.downPackageOrDelTray(orderPackageCodes,myCurrentWarehouse.getId()); } - updownTypeClient.downPackageOrDelTray(orderPackageCodes,myCurrentWarehouse.getId()); + }catch (Exception e){ log.error("#############signfor:"+time+" 下架失败",e); }