Commit 36b042356027c8122c25acc491c54fb9eeddf932

Authored by YunaiV
2 parents 8751471a 613eef37

Merge remote-tracking branch 'origin/feature/1.8.0-uniapp' into feature/1.8.0-uniapp

yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuRespVO.java
... ... @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
8 8 import lombok.ToString;
9 9  
10 10 import java.util.Date;
  11 +import java.util.LinkedList;
11 12 import java.util.List;
12 13  
13 14 @ApiModel("管理后台 - 商品spu Response VO")
... ... @@ -29,4 +30,7 @@ public class SpuRespVO extends ProductSpuBaseVO {
29 30 */
30 31 List<ProductSkuRespVO> skus;
31 32  
  33 + @ApiModelProperty(value = "分类id数组,一直递归到一级父节点", example = "[1,2,4]")
  34 + LinkedList<Long> categoryIds;
  35 +
32 36 }
... ...
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java
... ... @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuRespVO;
6 6 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;
7 7 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
8 8 import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert;
  9 +import cn.iocoder.yudao.module.product.dal.dataobject.category.CategoryDO;
9 10 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
10 11 import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
11 12 import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper;
... ... @@ -16,9 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
16 17 import org.springframework.validation.annotation.Validated;
17 18  
18 19 import javax.annotation.Resource;
19   -import java.util.Collection;
20   -import java.util.List;
21   -import java.util.Map;
  20 +import java.util.*;
22 21 import java.util.stream.Collectors;
23 22  
24 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
... ... @@ -105,6 +104,19 @@ public class ProductSpuServiceImpl implements ProductSpuService {
105 104 if (null != spuVO) {
106 105 List<ProductSkuRespVO> skuReqs = ProductSkuConvert.INSTANCE.convertList(productSkuService.getSkusBySpuId(id));
107 106 spuVO.setSkus(skuReqs);
  107 + // 组合分类
  108 + if (null != spuVO.getCategoryId()) {
  109 + LinkedList<Long> categoryArray = new LinkedList<>();
  110 + Long parentId = spuVO.getCategoryId();
  111 + categoryArray.addFirst(parentId);
  112 + while (parentId != 0) {
  113 + parentId = categoryService.getCategory(parentId).getParentId();
  114 + if (parentId > 0) {
  115 + categoryArray.addFirst(parentId);
  116 + }
  117 + }
  118 + spuVO.setCategoryIds(categoryArray);
  119 + }
108 120 }
109 121 return spuVO;
110 122 }
... ...