Commit 26ac0f3d by 周晓航

Merge branch 'ka-商品技术需求购物车不校验商品库存' into develop

parents 81a73bc2 6ed92f00
......@@ -631,22 +631,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
ShoppingCartConvertAdapter.setClassification(cartGoods, getProductsVo);
GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel(BusinessTypeEnum.getByType(updateShoppingCartGoodsQtyRequestVo.getMenuType()).getCode());
requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId);
requestDto.setProductIds(Collections.singletonList(Long.parseLong(cartGoods.getGoodsId())));
GetProductStockResponseDto availableStocks = stockClient.getAvailableStocks(requestDto);
if (availableStocks == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(availableStocks.getCode())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE);
}
int stock = CollectionUtils.isEmpty(availableStocks.getResult()) || availableStocks.getResult().get(0).getQty() == null ? 0 :
availableStocks.getResult().get(0).getQty();
if (stock <= 0) {
throw new ServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE);
} else if (stock < qty) {
throw new BizServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE, "仅剩" + stock + "件库存了");
}
this.commonItemVerfity(BusinessTypeEnum.getByType(updateShoppingCartGoodsQtyRequestVo.getMenuType()).getCode(),
partnerId,
storeId,
Collections.singletonList(Long.parseLong(cartGoods.getGoodsId())),
qty);
}
......@@ -2366,12 +2356,26 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (!isLimit) {
return;
}
this.commonItemVerfity(BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode(),
addShoppingCartGoodsRequestVo.getPartnerId(),
addShoppingCartGoodsRequestVo.getShopId(),
productIds,
qty);
}
private void commonItemVerfity(String channel, String partnerId, String storeId, List<Long> productIds, Integer qty){
GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel(BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
requestDto.setPartnerId(addShoppingCartGoodsRequestVo.getPartnerId());
requestDto.setStoreId(addShoppingCartGoodsRequestVo.getShopId());
requestDto.setChannel(BusinessTypeEnum.getByType(channel);
requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId);
requestDto.setProductIds(productIds);
GetProductStockResponseDto availableStocks = stockClient.getAvailableStocks(requestDto);
this.finalVerfity(availableStocks, qty);
}
private void finalVerfity(GetProductStockResponseDto availableStocks, Integer qty) {
// 商品服务 返回null 或者 qty=null 表示不限制库存
if (Objects.isNull(availableStocks)) {
return;
......@@ -2390,7 +2394,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} else if (stock < qty) {
throw new BizServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE, "仅剩" + stock + "件库存了");
}
}
/**
......@@ -3511,18 +3514,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
}
}
if (availableStocks != null && !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(availableStocks.getCode())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE);
}
if (availableStocks != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(availableStocks.getCode()) &&
(CollectionUtils.isEmpty(availableStocks.getResult()) || availableStocks.getResult().get(0).getQty() == null
|| availableStocks.getResult().get(0).getQty() < qty)) {
Integer stock = 0;
if (!CollectionUtils.isEmpty(availableStocks.getResult()) && (stock = availableStocks.getResult().get(0).getQty()) > 0) {
throw new BizServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE, "仅剩" + stock + "件库存了");
}
throw new ServiceException(ResponseResult.SHOPPING_CART_STOCK_NOT_HAVE);
}
this.finalVerfity(availableStocks, qty);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment