Browse Source

fix: 增加仓库查询的缓存

pull/7/head
pref_mail@163.com 6 months ago
parent
commit
fd511db428
  1. 3
      blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java
  2. 2
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataWarehouseEntity.java
  3. 58
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java
  4. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java

3
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:";
}

2
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;
/**
* 备注
*/

58
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<BasicdataWarehouseEntity> topWarehouse(Integer current, Integer size) {
@ -97,18 +105,40 @@ public class BasicdataWarehouseClient implements IBasicdataWarehouseClient {
@Override
public BasicdataWarehouseEntity getWarehouseEntityByWarehouseCode(String warehouseCode) {
QueryWrapper<BasicdataWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("warehouse_code",warehouseCode)
.eq("is_deleted",0)
.eq("enable_status",2);
List<BasicdataWarehouseEntity> 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<BasicdataWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("warehouse_code",warehouseCode)
.eq("is_deleted",0)
.eq("enable_status",2);
List<BasicdataWarehouseEntity> 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<BasicdataWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("department",deptId)
.eq("is_deleted",0)
.eq("enable_status",2);
return warehouseWarehouseService.getOne(queryWrapper);
List<BasicdataWarehouseEntity> list = warehouseWarehouseService.list(queryWrapper);
return list.get(0);
}
@Override

15
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java

@ -152,14 +152,17 @@ public class DistributionSignforAppController {
List<String> packageCodes = (List<String>) 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);
}

Loading…
Cancel
Save