Commit 36b042356027c8122c25acc491c54fb9eeddf932
Merge remote-tracking branch 'origin/feature/1.8.0-uniapp' into feature/1.8.0-uniapp
Showing
2 changed files
with
19 additions
and
3 deletions
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 | } |