|
@@ -1,31 +1,28 @@
|
|
|
package cn.iocoder.yudao.module.product.service.spu;
|
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuCreateReqVO;
|
|
|
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuRespVO;
|
|
|
+import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;
|
|
|
import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
|
|
|
+import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert;
|
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
|
|
|
+import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
|
|
+import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper;
|
|
|
import cn.iocoder.yudao.module.product.service.category.CategoryService;
|
|
|
import cn.iocoder.yudao.module.product.service.sku.ProductSkuService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import javax.annotation.Resource;
|
|
|
-import javax.validation.Valid;
|
|
|
-
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
-import java.util.*;
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.Collection;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;
|
|
|
-import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
|
|
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
-
|
|
|
-import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert;
|
|
|
-import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper;
|
|
|
-
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
-import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*;
|
|
|
+import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.SPU_NOT_EXISTS;
|
|
|
|
|
|
/**
|
|
|
* 商品spu Service 实现类
|
|
@@ -123,11 +120,10 @@ public class ProductSpuServiceImpl implements ProductSpuService {
|
|
|
// 查询 sku 的信息
|
|
|
List<Long> spuIds = spuVOs.getList().stream().map(SpuRespVO::getId).collect(Collectors.toList());
|
|
|
List<ProductSkuRespVO> skus = ProductSkuConvert.INSTANCE.convertList(productSkuService.getSkusBySpuIds(spuIds));
|
|
|
+ // TODO @franky:使用 CollUtil 里的方法替代哈
|
|
|
Map<Long, List<ProductSkuRespVO>> skuMap = skus.stream().collect(Collectors.groupingBy(ProductSkuRespVO::getSpuId));
|
|
|
// 将 spu 和 sku 进行组装
|
|
|
- spuVOs.getList().forEach(p -> {
|
|
|
- p.setSkus(skuMap.get(p.getId()));
|
|
|
- });
|
|
|
+ spuVOs.getList().forEach(p -> p.setSkus(skuMap.get(p.getId())));
|
|
|
return spuVOs;
|
|
|
}
|
|
|
|