商品分页返回值加上skus
This commit is contained in:
1 parent
d1e0f7a972
commit
04ffe7f847
2 files changed
+21
-1
No files matched your search
+6
-1
@@ -32,6 +32,7 @@ import java.util.Map;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
||||
|
||||
@Tag(name = "管理后台 - 商品 SPU")
|
||||
@RestController
|
||||
@@ -124,7 +125,11 @@ public class ProductSpuController {
|
||||
@PreAuthorize("@ss.hasPermission('product:spu:query')")
|
||||
public CommonResult<PageResult<ProductSpuWithCreatorRespVO>> getSpuPageWithCreator(@Valid ProductSpuPageReqVO pageVO) {
|
||||
PageResult<ProductSpuCreatorDO> pageResult = productSpuService.getSpuPageWithCreator(pageVO);
|
||||
return success(BeanUtils.toBean(pageResult, ProductSpuWithCreatorRespVO.class));
|
||||
// 查询订单项
|
||||
List<ProductSkuDO> skuList = productSkuService.getSkuListBySpuId(
|
||||
convertSet(pageResult.getList(), ProductSpuCreatorDO::getId));
|
||||
// return success(BeanUtils.toBean(pageResult, ProductSpuWithCreatorRespVO.class));
|
||||
return success(ProductSpuConvert.INSTANCE.convertPage(pageResult, skuList));
|
||||
}
|
||||
|
||||
@GetMapping("/get-count")
|
||||
|
||||
+15
@@ -1,12 +1,16 @@
|
||||
package cn.iocoder.yudao.module.product.convert.spu;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSkuRespVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuRespVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuWithCreatorRespVO;
|
||||
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageReqVO;
|
||||
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
|
||||
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuCreatorDO;
|
||||
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
@@ -39,4 +43,15 @@ public interface ProductSpuConvert {
|
||||
return CollectionUtils.convertList(spus, spu -> convert(spu, skuMultiMap.get(spu.getId())));
|
||||
}
|
||||
|
||||
default PageResult<ProductSpuWithCreatorRespVO> convertPage(PageResult<ProductSpuCreatorDO> pageResult, List<ProductSkuDO> skuList){
|
||||
// List<ProductSpuWithCreatorRespVO> list = BeanUtils.toBean(pageResult.getList(), ProductSpuWithCreatorRespVO.class);
|
||||
Map<Long, List<ProductSkuDO>> skuMap = convertMultiMap(skuList, ProductSkuDO::getSpuId);
|
||||
List<ProductSpuWithCreatorRespVO> spuVos = CollectionUtils.convertList(pageResult.getList(), spu -> {
|
||||
List<ProductSkuDO> xOrderItems = skuMap.get(spu.getId());
|
||||
ProductSpuWithCreatorRespVO spuVo = BeanUtils.toBean(spu, ProductSpuWithCreatorRespVO.class);
|
||||
spuVo.setSkus(BeanUtils.toBean(xOrderItems, ProductSkuRespVO.class));
|
||||
return spuVo;
|
||||
});
|
||||
return new PageResult<>(spuVos, pageResult.getTotal());
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user