|
@@ -6,6 +6,7 @@ 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.category.CategoryDO;
|
|
|
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;
|
|
@@ -16,9 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.Collection;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
@@ -105,6 +104,19 @@ public class ProductSpuServiceImpl implements ProductSpuService {
|
|
|
if (null != spuVO) {
|
|
|
List<ProductSkuRespVO> skuReqs = ProductSkuConvert.INSTANCE.convertList(productSkuService.getSkusBySpuId(id));
|
|
|
spuVO.setSkus(skuReqs);
|
|
|
+ // 组合分类
|
|
|
+ if (null != spuVO.getCategoryId()) {
|
|
|
+ LinkedList<Long> categoryArray = new LinkedList<>();
|
|
|
+ Long parentId = spuVO.getCategoryId();
|
|
|
+ categoryArray.addFirst(parentId);
|
|
|
+ while (parentId != 0) {
|
|
|
+ parentId = categoryService.getCategory(parentId).getParentId();
|
|
|
+ if (parentId > 0) {
|
|
|
+ categoryArray.addFirst(parentId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ spuVO.setCategoryIds(categoryArray);
|
|
|
+ }
|
|
|
}
|
|
|
return spuVO;
|
|
|
}
|