增加商品库存redis缓存 & 库存变动发送rabbit消息
This commit is contained in:
parent
b320bb757d
commit
ea94fae9de
|
|
@ -68,6 +68,7 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
if (CollUtil.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
boolean isHasStockChangeToZero = false;
|
||||
for (ProductStockSubtractDTO dto : list) {
|
||||
Product product = productMapper.selectOneById(dto.getProductId());
|
||||
if (product == null) {
|
||||
|
|
@ -88,6 +89,9 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
flow.setInOutItem(InOutItemEnum.ORDER_OUT.value());
|
||||
flow.setOrderId(orderId);
|
||||
productStockFlowService.saveFlow(flow);
|
||||
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
||||
isHasStockChangeToZero = true;
|
||||
}
|
||||
// 查询商品绑定耗材信息
|
||||
List<ProdConsRelation> relationList = prodConsRelationMapper.selectListByQuery(QueryWrapper.create().eq(ProdConsRelation::getProductId, dto.getProductId()));
|
||||
if (CollUtil.isEmpty(relationList)) {
|
||||
|
|
@ -131,7 +135,9 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
consStockFlowService.saveFlow(consStockFlow);
|
||||
}
|
||||
}
|
||||
ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
if (isHasStockChangeToZero) {
|
||||
ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
}
|
||||
log.info("ProductService.--------------------------------------------库存更新成功");
|
||||
}
|
||||
|
||||
|
|
@ -143,6 +149,7 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
if (CollUtil.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
boolean isHasStockChangeToZero = false;
|
||||
for (ProductStockSubtractDTO dto : list) {
|
||||
Product product = productMapper.selectOneById(dto.getProductId());
|
||||
productMapper.updateProductStockNum(dto.getProductId(), dto.getShopId(), "add", dto.getNum());
|
||||
|
|
@ -161,6 +168,9 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
flow.setRemark("红冲订单取消/退菜/退单消耗的库存");
|
||||
flow.setOrderId(orderId);
|
||||
productStockFlowService.saveFlow(flow);
|
||||
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
||||
isHasStockChangeToZero = true;
|
||||
}
|
||||
// 查询商品绑定耗材信息
|
||||
List<ProdConsRelation> relationList = prodConsRelationMapper.selectListByQuery(QueryWrapper.create().eq(ProdConsRelation::getProductId, dto.getProductId()));
|
||||
if (CollUtil.isEmpty(relationList)) {
|
||||
|
|
@ -204,7 +214,9 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
consStockFlowService.saveFlow(consStockFlow);
|
||||
}
|
||||
}
|
||||
ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
if (isHasStockChangeToZero) {
|
||||
ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
}
|
||||
log.info("ProductService.--------------------------------------------库存更新成功");
|
||||
}
|
||||
|
||||
|
|
@ -215,6 +227,7 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
if (CollUtil.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
boolean isHasStockChangeToZero = false;
|
||||
for (ProductStockSubtractDTO dto : list) {
|
||||
Product product = productMapper.selectOneById(dto.getProductId());
|
||||
// 商品是否允许退款退货时归还库存
|
||||
|
|
@ -237,6 +250,9 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
flow.setRemark("红冲订单取消/退菜/退单消耗的库存");
|
||||
flow.setOrderId(orderId);
|
||||
productStockFlowService.saveFlow(flow);
|
||||
if (!isHasStockChangeToZero && NumberUtil.isLessOrEqual(flow.getAfterNumber(), BigDecimal.ZERO)) {
|
||||
isHasStockChangeToZero = true;
|
||||
}
|
||||
// 查询商品绑定耗材信息
|
||||
List<ProdConsRelation> relationList = prodConsRelationMapper.selectListByQuery(QueryWrapper.create().eq(ProdConsRelation::getProductId, dto.getProductId()));
|
||||
if (CollUtil.isEmpty(relationList)) {
|
||||
|
|
@ -280,7 +296,9 @@ public class ProductRpcServiceImpl implements ProductRpcService {
|
|||
consStockFlowService.saveFlow(consStockFlow);
|
||||
}
|
||||
}
|
||||
ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
if (isHasStockChangeToZero) {
|
||||
ThreadUtil.execAsync(() -> rabbitPublisher.sendProductInfoChangeMsg(Convert.toStr(shopId)));
|
||||
}
|
||||
log.info("ProductService.--------------------------------------------库存更新成功");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue