diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java index 56030bbe..9d81e83c 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java @@ -92,8 +92,24 @@ public class OmsShoppingCartApi { public R save(@RequestBody @Valid OmsShoppingCartSaveBo param){ BmsSupplier supplier = AuthContextUtils.getCurrentSupplier(); OmsShoppingCart shoppingCart = CopierUtil.copy(param,new OmsShoppingCart()); - shoppingCart.setUserId(AuthContextUtils.getSysUserId()); GoodsSku goodsSku = goodsSkuService.getById(shoppingCart.getSkuId()); + //用于修改sku + OmsShoppingCart orgShopCart = omsShoppingCartService.getOne( + new LambdaQueryWrapper() + .eq(OmsShoppingCart::getSkuCode,goodsSku.getSkuCode()) + .ne(param.getCartId()!=null,OmsShoppingCart::getId,param.getCartId()) + ,false + ); + if(orgShopCart!=null){ + orgShopCart.setQuantity(orgShopCart.getQuantity()+param.getQuantity()); + omsShoppingCartService.updateById(orgShopCart); + //移除多余 + omsShoppingCartService.remove(new LambdaQueryWrapper() + .eq(OmsShoppingCart::getSkuCode,goodsSku.getSkuCode()) + .ne(OmsShoppingCart::getId,param.getCartId())); + return R.ok(); + } + shoppingCart.setUserId(AuthContextUtils.getSysUserId()); GoodsSpu goodsSpu = goodsSpuService.getById(goodsSku.getSpuId()); if(!goodsSku.getEnable().equals(1)){ return R.error("商品项["+goodsSku.getSpecInfos()+"]停用中");