diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java index 398a984..2961b1e 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java @@ -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> getSpuPageWithCreator(@Valid ProductSpuPageReqVO pageVO) { PageResult pageResult = productSpuService.getSpuPageWithCreator(pageVO); - return success(BeanUtils.toBean(pageResult, ProductSpuWithCreatorRespVO.class)); + // 查询订单项 + List 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") diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java index 3644342..c3afead 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java @@ -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 convertPage(PageResult pageResult, List skuList){ +// List list = BeanUtils.toBean(pageResult.getList(), ProductSpuWithCreatorRespVO.class); + Map> skuMap = convertMultiMap(skuList, ProductSkuDO::getSpuId); + List spuVos = CollectionUtils.convertList(pageResult.getList(), spu -> { + List 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()); + } }