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,6 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 9
10 import java.util.Date; 10 import java.util.Date;
  11 +import java.util.LinkedList;
11 import java.util.List; 12 import java.util.List;
12 13
13 @ApiModel("管理后台 - 商品spu Response VO") 14 @ApiModel("管理后台 - 商品spu Response VO")
@@ -29,4 +30,7 @@ public class SpuRespVO extends ProductSpuBaseVO { @@ -29,4 +30,7 @@ public class SpuRespVO extends ProductSpuBaseVO {
29 */ 30 */
30 List<ProductSkuRespVO> skus; 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 +6,7 @@ import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuRespVO;
6 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; 6 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;
7 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; 7 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
8 import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert; 8 import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert;
  9 +import cn.iocoder.yudao.module.product.dal.dataobject.category.CategoryDO;
9 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 10 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
10 import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; 11 import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
11 import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper; 12 import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper;
@@ -16,9 +17,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -16,9 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
16 import org.springframework.validation.annotation.Validated; 17 import org.springframework.validation.annotation.Validated;
17 18
18 import javax.annotation.Resource; 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 import java.util.stream.Collectors; 21 import java.util.stream.Collectors;
23 22
24 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -105,6 +104,19 @@ public class ProductSpuServiceImpl implements ProductSpuService { @@ -105,6 +104,19 @@ public class ProductSpuServiceImpl implements ProductSpuService {
105 if (null != spuVO) { 104 if (null != spuVO) {
106 List<ProductSkuRespVO> skuReqs = ProductSkuConvert.INSTANCE.convertList(productSkuService.getSkusBySpuId(id)); 105 List<ProductSkuRespVO> skuReqs = ProductSkuConvert.INSTANCE.convertList(productSkuService.getSkusBySpuId(id));
107 spuVO.setSkus(skuReqs); 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 return spuVO; 121 return spuVO;
110 } 122 }