diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java index cd95608a..bb76332b 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java @@ -979,6 +979,9 @@ public class SyncThirdDataServiceImpl extends SyncBaseThirdSxAbstract implements logger.info("key:{},Product_number:{}",key,itemId); if(array_item_spec.isEmpty()){ BigDecimal saleAmount=new BigDecimal(unitPrice).multiply(new BigDecimal(delta)); + if(saleAmount.compareTo(BigDecimal.ZERO)<0){ + saleAmount=saleAmount.multiply(new BigDecimal("-1")); + } redisTemplate.opsForHash().increment(key, itemId+"-"+orderId+"-"+unitPrice+"-"+saleAmount.toPlainString(), delta.doubleValue()); logger.info("存储无规格库存成功"); continue; @@ -996,6 +999,9 @@ public class SyncThirdDataServiceImpl extends SyncBaseThirdSxAbstract implements itemReturnAmount=unitPriceBg.multiply(itemQuaryty); } logger.info("unitWeight-{};itemQuaryty-{};unitPriceBg-{}",unitWeight,itemQuaryty,unitPriceBg); + if(itemReturnAmount.compareTo(BigDecimal.ZERO)<0){ + itemReturnAmount=itemReturnAmount.multiply(new BigDecimal("-1")); + } // 使用 Redis 的 HINCRBY 保证原子性和高性能 redisTemplate.opsForHash().increment(key, itemId+"-"+orderId+"-"+unitPriceBg.toPlainString()+"-"+itemReturnAmount.toPlainString(), itemQuaryty.doubleValue()); logger.info("存储有规格库存成功",itemId+"-"+orderId+"-"+unitPriceBg.toPlainString());