Commit 401de3034479bf8787b22fc4e9f6c6b7f9f03c73

Authored by YunaiV
1 parent 65ef6ff5

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

yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/history/ProductBrowseHistoryController.java
@@ -22,10 +22,8 @@ import org.springframework.web.bind.annotation.RestController; @@ -22,10 +22,8 @@ import org.springframework.web.bind.annotation.RestController;
22 22
23 import java.util.Map; 23 import java.util.Map;
24 import java.util.Optional; 24 import java.util.Optional;
25 -import java.util.Set;  
26 25
27 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 26 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
28 -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;  
29 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 27 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
30 28
31 @Tag(name = "管理后台 - 商品浏览记录") 29 @Tag(name = "管理后台 - 商品浏览记录")
@@ -49,8 +47,8 @@ public class ProductBrowseHistoryController { @@ -49,8 +47,8 @@ public class ProductBrowseHistoryController {
49 } 47 }
50 48
51 // 得到商品 spu 信息 49 // 得到商品 spu 信息
52 - Set<Long> spuIds = convertSet(pageResult.getList(), ProductBrowseHistoryDO::getSpuId);  
53 - Map<Long, ProductSpuDO> spuMap = convertMap(productSpuService.getSpuList(spuIds), ProductSpuDO::getId); 50 + Map<Long, ProductSpuDO> spuMap = productSpuService.getSpuMap(
  51 + convertSet(pageResult.getList(), ProductBrowseHistoryDO::getSpuId));
54 return success(BeanUtils.toBean(pageResult, ProductBrowseHistoryRespVO.class, 52 return success(BeanUtils.toBean(pageResult, ProductBrowseHistoryRespVO.class,
55 vo -> Optional.ofNullable(spuMap.get(vo.getSpuId())) 53 vo -> Optional.ofNullable(spuMap.get(vo.getSpuId()))
56 .ifPresent(spu -> vo.setSpuName(spu.getName()).setPicUrl(spu.getPicUrl()).setPrice(spu.getPrice())))); 54 .ifPresent(spu -> vo.setSpuName(spu.getName()).setPicUrl(spu.getPicUrl()).setPrice(spu.getPrice()))));
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuService.java
1 package cn.iocoder.yudao.module.product.service.spu; 1 package cn.iocoder.yudao.module.product.service.spu;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
4 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO; 5 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO;
5 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuSaveReqVO; 6 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuSaveReqVO;
6 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuUpdateStatusReqVO; 7 import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuUpdateStatusReqVO;
@@ -59,6 +60,17 @@ public interface ProductSpuService { @@ -59,6 +60,17 @@ public interface ProductSpuService {
59 List<ProductSpuDO> getSpuList(Collection<Long> ids); 60 List<ProductSpuDO> getSpuList(Collection<Long> ids);
60 61
61 /** 62 /**
  63 + * 获得商品 SPU Map
  64 + *
  65 + * @param ids 编号数组
  66 + * @return 商品 SPU Map
  67 + */
  68 + default Map<Long, ProductSpuDO> getSpuMap(Collection<Long> ids) {
  69 + List<ProductSpuDO> list = getSpuList(ids);
  70 + return CollectionUtils.convertMap(list, ProductSpuDO::getId);
  71 + }
  72 +
  73 + /**
62 * 获得指定状态的商品 SPU 列表 74 * 获得指定状态的商品 SPU 列表
63 * 75 *
64 * @param status 状态 76 * @param status 状态