思迅同步问题修复,无出库也要生成记录

This commit is contained in:
liyj 2025-11-27 17:50:46 +08:00
parent ed29dcd419
commit 7e4c2a9ccf

View File

@ -1643,10 +1643,40 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
}
stockDeltaMap.put(mapKey, returnNum);
syncThirdDataService.incrProductStockToRedis(stockDeltaMap, returnItem.getReturn_item_subtotal());
logger.info("退货返回给思迅,存入redis成功,item_src_id:{},订单号:{},数量:{},mapKey:{}", item_src_id, shopOrderReturn.getOrder_id(), returnNum,mapKey);
logger.info("退货返回给思迅,存入redis成功,item_src_id:{},订单号:{},数量:{},mapKey:{}", item_src_id, shopOrderItem.getOrder_id(), returnNum,mapKey);
} else {
logger.warn("退货数量为空无法增加库存订单项ID: {}", orderItemId);
}
}else {//没有出库也要做思迅出库在客户端计算支付流水防止部分数据有出无进
Long orderItemId = returnItem.getOrder_item_id();
ShopOrderItem shopOrderItem = shopOrderItemService.get(orderItemId);
if (shopOrderItem == null) {
logger.error("该订单商品表信息不存在订单项ID: {}", orderItemId);
throw new ApiException(I18nUtil._("该订单商品表信息不存在!"));
}
Long itemId = shopOrderItem.getItem_id();
ShopProductItem productItem = shopProductItemService.get(itemId);
if (productItem == null) {
logger.error("该订单商品表-SKU表信息不存在商品项ID: {}", itemId);//说明这个itemid已经不存在了不对库存操作
continue;
}
// 增加库存
Integer returnNum = returnItem.getReturn_item_num();
if (returnNum != null) {
// RMK 第三方数据同步相关redis 新增返还思迅库存
Map<String, Integer> stockDeltaMap = new HashMap<>();
String item_src_id = productItem.getItem_src_id();
String mapKey=item_src_id + "-" + shopOrderItem.getOrder_id() + "-" + shopOrderItem.getOrder_item_unit_price();
if(null!=shopOrderReturnMap.get(returnItem.getReturn_id())){
mapKey=mapKey+"-" + shopOrderReturnMap.get(returnItem.getReturn_id());//时间
}
stockDeltaMap.put(mapKey, returnNum);
syncThirdDataService.incrProductStockToRedis(stockDeltaMap, returnItem.getReturn_item_subtotal());
logger.info("未出库退货返回给思迅,存入redis成功,item_src_id:{},订单号:{},数量:{},mapKey:{}", item_src_id, shopOrderItem.getOrder_id(), returnNum,mapKey);
}
}
}
}