- 前端:完善商品列表
- 后端:将商品模块的 Service 改成有业务异常时,抛出异常,而不是返回 CommonResult - 后端:将搜索模块的 Service 改成有业务异常时,抛出异常,而不是返回 CommonResult
This commit is contained in:
@@ -50,11 +50,7 @@ public class CartServiceImpl implements CartService {
|
||||
@SuppressWarnings("Duplicates")
|
||||
public CommonResult<Boolean> add(Integer userId, Integer skuId, Integer quantity) {
|
||||
// 查询 SKU 是否合法
|
||||
CommonResult<ProductSkuBO> skuResult = productSpuService.getProductSku(skuId);
|
||||
if (skuResult.isError()) {
|
||||
return CommonResult.error(skuResult);
|
||||
}
|
||||
ProductSkuBO sku = skuResult.getData();
|
||||
ProductSkuBO sku = productSpuService.getProductSku(skuId);
|
||||
if (sku == null
|
||||
|| CommonStatusEnum.DISABLE.getValue().equals(sku.getStatus())) { // sku 被禁用
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.CARD_ITEM_SKU_NOT_FOUND.getCode());
|
||||
@@ -93,11 +89,7 @@ public class CartServiceImpl implements CartService {
|
||||
@SuppressWarnings("Duplicates")
|
||||
public CommonResult<Boolean> updateQuantity(Integer userId, Integer skuId, Integer quantity) {
|
||||
// 查询 SKU 是否合法
|
||||
CommonResult<ProductSkuBO> skuResult = productSpuService.getProductSku(skuId);
|
||||
if (skuResult.isError()) {
|
||||
return CommonResult.error(skuResult);
|
||||
}
|
||||
ProductSkuBO sku = skuResult.getData();
|
||||
ProductSkuBO sku = productSpuService.getProductSku(skuId);
|
||||
if (sku == null
|
||||
|| CommonStatusEnum.DISABLE.getValue().equals(sku.getStatus())) { // sku 被禁用
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.CARD_ITEM_SKU_NOT_FOUND.getCode());
|
||||
@@ -160,7 +152,7 @@ public class CartServiceImpl implements CartService {
|
||||
// 校验商品都存在
|
||||
Map<Integer, CalcOrderPriceDTO.Item> calcOrderItemMap = calcOrderPriceDTO.getItems().stream()
|
||||
.collect(Collectors.toMap(CalcOrderPriceDTO.Item::getSkuId, item -> item)); // KEY:skuId
|
||||
List<ProductSkuDetailBO> skus = productSpuService.getProductSkuDetailList(calcOrderItemMap.keySet()).getData();
|
||||
List<ProductSkuDetailBO> skus = productSpuService.getProductSkuDetailList(calcOrderItemMap.keySet());
|
||||
if (skus.size() != calcOrderPriceDTO.getItems().size()) {
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.ORDER_ITEM_SOME_NOT_EXISTS.getCode());
|
||||
}
|
||||
@@ -210,11 +202,7 @@ public class CartServiceImpl implements CartService {
|
||||
@SuppressWarnings("Duplicates")
|
||||
public CommonResult<CalcSkuPriceBO> calcSkuPrice(Integer skuId) {
|
||||
// 查询 SKU 是否合法
|
||||
CommonResult<ProductSkuBO> skuResult = productSpuService.getProductSku(skuId);
|
||||
if (skuResult.isError()) {
|
||||
return CommonResult.error(skuResult);
|
||||
}
|
||||
ProductSkuBO sku = skuResult.getData();
|
||||
ProductSkuBO sku = productSpuService.getProductSku(skuId);
|
||||
if (sku == null
|
||||
|| CommonStatusEnum.DISABLE.getValue().equals(sku.getStatus())) { // sku 被禁用
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.CARD_ITEM_SKU_NOT_FOUND.getCode());
|
||||
|
||||
@@ -218,28 +218,20 @@ public class OrderServiceImpl implements OrderService {
|
||||
|
||||
// 获取商品信息
|
||||
Set<Integer> skuIds = orderItemDOList.stream().map(OrderItemDO::getSkuId).collect(Collectors.toSet());
|
||||
CommonResult<List<ProductSkuDetailBO>> productResult = productSpuService.getProductSkuDetailList(skuIds);
|
||||
|
||||
// 校验商品信息
|
||||
if (productResult.isError()) {
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.ORDER_GET_SKU_FAIL.getCode());
|
||||
}
|
||||
if (productResult.getData() == null) {
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.ORDER_GET_SKU_NOT_EXISTENT.getCode());
|
||||
}
|
||||
if (orderItemDTOList.size() != productResult.getData().size()) {
|
||||
List<ProductSkuDetailBO> productList = productSpuService.getProductSkuDetailList(skuIds);
|
||||
if (orderItemDTOList.size() != productList.size()) { // 校验获得的数量,是否匹配
|
||||
return ServiceExceptionUtil.error(OrderErrorCodeEnum.ORDER_GET_GOODS_INFO_INCORRECT.getCode());
|
||||
}
|
||||
|
||||
// 价格计算
|
||||
CommonResult<CalcOrderPriceBO> calcOrderPriceResult = calcOrderPrice(productResult.getData(), orderCreateDTO);
|
||||
CommonResult<CalcOrderPriceBO> calcOrderPriceResult = calcOrderPrice(productList, orderCreateDTO);
|
||||
if (calcOrderPriceResult.isError()) {
|
||||
return CommonResult.error(calcOrderPriceResult);
|
||||
}
|
||||
CalcOrderPriceBO calcOrderPrice = calcOrderPriceResult.getData();
|
||||
|
||||
// 设置 orderItem
|
||||
Map<Integer, ProductSkuDetailBO> productSpuBOMap = productResult.getData()
|
||||
Map<Integer, ProductSkuDetailBO> productSpuBOMap = productList
|
||||
.stream().collect(Collectors.toMap(ProductSkuDetailBO::getId, o -> o)); // 商品 SKU 信息的集合
|
||||
Map<Integer, CalcOrderPriceBO.Item> priceItemMap = new HashMap<>();
|
||||
calcOrderPrice.getItemGroups().forEach(itemGroup ->
|
||||
|
||||
Reference in New Issue
Block a user