【代码优化】MALL:完善管理端获得商品浏览记录分页接口

This commit is contained in:
YunaiV 2024-07-17 20:07:01 +08:00
parent 65ef6ff5ed
commit 401de30344
2 changed files with 14 additions and 4 deletions

View File

@ -22,10 +22,8 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Set;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@Tag(name = "管理后台 - 商品浏览记录") @Tag(name = "管理后台 - 商品浏览记录")
@ -49,8 +47,8 @@ public class ProductBrowseHistoryController {
} }
// 得到商品 spu 信息 // 得到商品 spu 信息
Set<Long> spuIds = convertSet(pageResult.getList(), ProductBrowseHistoryDO::getSpuId); Map<Long, ProductSpuDO> spuMap = productSpuService.getSpuMap(
Map<Long, ProductSpuDO> spuMap = convertMap(productSpuService.getSpuList(spuIds), ProductSpuDO::getId); convertSet(pageResult.getList(), ProductBrowseHistoryDO::getSpuId));
return success(BeanUtils.toBean(pageResult, ProductBrowseHistoryRespVO.class, return success(BeanUtils.toBean(pageResult, ProductBrowseHistoryRespVO.class,
vo -> Optional.ofNullable(spuMap.get(vo.getSpuId())) vo -> Optional.ofNullable(spuMap.get(vo.getSpuId()))
.ifPresent(spu -> vo.setSpuName(spu.getName()).setPicUrl(spu.getPicUrl()).setPrice(spu.getPrice())))); .ifPresent(spu -> vo.setSpuName(spu.getName()).setPicUrl(spu.getPicUrl()).setPrice(spu.getPrice()))));

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.product.service.spu; package cn.iocoder.yudao.module.product.service.spu;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO; import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO;
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuSaveReqVO; import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuSaveReqVO;
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuUpdateStatusReqVO; import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuUpdateStatusReqVO;
@ -58,6 +59,17 @@ public interface ProductSpuService {
*/ */
List<ProductSpuDO> getSpuList(Collection<Long> ids); List<ProductSpuDO> getSpuList(Collection<Long> ids);
/**
* 获得商品 SPU Map
*
* @param ids 编号数组
* @return 商品 SPU Map
*/
default Map<Long, ProductSpuDO> getSpuMap(Collection<Long> ids) {
List<ProductSpuDO> list = getSpuList(ids);
return CollectionUtils.convertMap(list, ProductSpuDO::getId);
}
/** /**
* 获得指定状态的商品 SPU 列表 * 获得指定状态的商品 SPU 列表
* *