商品缓存清除于设置
This commit is contained in:
parent
5c4dba85a8
commit
bc04e4ce14
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.thread.ThreadUtil;
|
import cn.hutool.core.thread.ThreadUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.czg.config.RabbitPublisher;
|
import com.czg.config.RabbitPublisher;
|
||||||
import com.czg.enums.YesNoEnum;
|
import com.czg.enums.YesNoEnum;
|
||||||
import com.czg.product.dto.ProductStockSubtractDTO;
|
import com.czg.product.dto.ProductStockSubtractDTO;
|
||||||
|
|
@ -31,6 +32,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static com.czg.constant.CacheConstant.ADMIN_CLIENT_PRODUCT_LIST;
|
import static com.czg.constant.CacheConstant.ADMIN_CLIENT_PRODUCT_LIST;
|
||||||
|
import static com.czg.constant.CacheConstant.SHOP_PRODUCT_STOCK;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品RPC远程调用服务接口实现
|
* 商品RPC远程调用服务接口实现
|
||||||
|
|
@ -89,6 +91,8 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
||||||
flow.setInOutItem(InOutItemEnum.ORDER_OUT.value());
|
flow.setInOutItem(InOutItemEnum.ORDER_OUT.value());
|
||||||
flow.setOrderId(orderId);
|
flow.setOrderId(orderId);
|
||||||
productStockFlowService.saveFlow(flow);
|
productStockFlowService.saveFlow(flow);
|
||||||
|
cleanCategoryProduct(shopId, product.getCategoryId());
|
||||||
|
refreshRedisProdStock(shopId, product.getId(), flow.getAfterNumber());
|
||||||
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
||||||
isHasStockChangeToZero = true;
|
isHasStockChangeToZero = true;
|
||||||
}
|
}
|
||||||
|
|
@ -168,6 +172,7 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
||||||
flow.setRemark("红冲订单取消/退菜/退单消耗的库存");
|
flow.setRemark("红冲订单取消/退菜/退单消耗的库存");
|
||||||
flow.setOrderId(orderId);
|
flow.setOrderId(orderId);
|
||||||
productStockFlowService.saveFlow(flow);
|
productStockFlowService.saveFlow(flow);
|
||||||
|
refreshRedisProdStock(shopId, product.getId(), flow.getAfterNumber());
|
||||||
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
||||||
isHasStockChangeToZero = true;
|
isHasStockChangeToZero = true;
|
||||||
}
|
}
|
||||||
|
|
@ -250,6 +255,7 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
||||||
flow.setRemark("红冲订单取消/退菜/退单消耗的库存");
|
flow.setRemark("红冲订单取消/退菜/退单消耗的库存");
|
||||||
flow.setOrderId(orderId);
|
flow.setOrderId(orderId);
|
||||||
productStockFlowService.saveFlow(flow);
|
productStockFlowService.saveFlow(flow);
|
||||||
|
refreshRedisProdStock(shopId, product.getId(), flow.getAfterNumber());
|
||||||
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
||||||
isHasStockChangeToZero = true;
|
isHasStockChangeToZero = true;
|
||||||
}
|
}
|
||||||
|
|
@ -312,4 +318,13 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
||||||
String key = ADMIN_CLIENT_PRODUCT_LIST + "::" + shopId + "::" + categoryId;
|
String key = ADMIN_CLIENT_PRODUCT_LIST + "::" + shopId + "::" + categoryId;
|
||||||
redisService.del(key);
|
redisService.del(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void refreshRedisProdStock(Long shopId, Long productId, BigDecimal stockNumber) {
|
||||||
|
String key = StrUtil.format(SHOP_PRODUCT_STOCK, shopId, productId);
|
||||||
|
if (NumberUtil.isLessOrEqual(stockNumber, BigDecimal.ZERO)) {
|
||||||
|
redisService.del(key);
|
||||||
|
} else {
|
||||||
|
redisService.set(key, stockNumber);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue