|
@@ -1,10 +1,10 @@
|
|
package cn.iocoder.yudao.module.product.convert.favorite;
|
|
package cn.iocoder.yudao.module.product.convert.favorite;
|
|
|
|
|
|
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.favorite.vo.ProductFavoriteRespVO;
|
|
import cn.iocoder.yudao.module.product.controller.admin.favorite.vo.ProductFavoriteRespVO;
|
|
import cn.iocoder.yudao.module.product.controller.app.favorite.vo.AppFavoriteRespVO;
|
|
import cn.iocoder.yudao.module.product.controller.app.favorite.vo.AppFavoriteRespVO;
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.favorite.ProductFavoriteDO;
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.favorite.ProductFavoriteDO;
|
|
-import cn.iocoder.yudao.module.product.dal.dataobject.favorite.ProductFavoriteDetailDO;
|
|
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
|
import org.mapstruct.Mapper;
|
|
import org.mapstruct.Mapper;
|
|
import org.mapstruct.Mapping;
|
|
import org.mapstruct.Mapping;
|
|
@@ -13,7 +13,6 @@ import org.mapstruct.factory.Mappers;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
-import java.util.Optional;
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
|
|
|
|
|
@@ -38,20 +37,18 @@ public interface ProductFavoriteConvert {
|
|
return resultList;
|
|
return resultList;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ default PageResult<ProductFavoriteRespVO> convertPage(PageResult<ProductFavoriteDO> pageResult, List<ProductSpuDO> spuList) {
|
|
|
|
+ Map<Long, ProductSpuDO> spuMap = convertMap(spuList, ProductSpuDO::getId);
|
|
|
|
+ List<ProductFavoriteRespVO> voList = CollectionUtils.convertList(pageResult.getList(), favorite -> {
|
|
|
|
+ ProductSpuDO spu = spuMap.get(favorite.getSpuId());
|
|
|
|
+ return convert02(spu, favorite);
|
|
|
|
+ });
|
|
|
|
+ return new PageResult<>(voList, pageResult.getTotal());
|
|
|
|
+ }
|
|
@Mapping(target = "id", source = "favorite.id")
|
|
@Mapping(target = "id", source = "favorite.id")
|
|
@Mapping(target = "userId", source = "favorite.userId")
|
|
@Mapping(target = "userId", source = "favorite.userId")
|
|
@Mapping(target = "spuId", source = "favorite.spuId")
|
|
@Mapping(target = "spuId", source = "favorite.spuId")
|
|
@Mapping(target = "createTime", source = "favorite.createTime")
|
|
@Mapping(target = "createTime", source = "favorite.createTime")
|
|
- ProductFavoriteRespVO convert2admin(ProductSpuDO spu, ProductFavoriteDO favorite);
|
|
|
|
-
|
|
|
|
- default List<ProductFavoriteRespVO> convertList2admin(List<ProductFavoriteDO> favorites, List<ProductSpuDO> spus) {
|
|
|
|
- List<ProductFavoriteRespVO> resultList = new ArrayList<>(spus.size());
|
|
|
|
- for (ProductFavoriteDO favorite : favorites) {
|
|
|
|
- Optional<ProductSpuDO> spu = spus.stream().filter(e -> e.getId().equals(favorite.getSpuId())).findFirst();
|
|
|
|
- resultList.add(convert2admin(spu.get(), favorite));
|
|
|
|
- }
|
|
|
|
- return resultList;
|
|
|
|
- }
|
|
|
|
|
|
+ ProductFavoriteRespVO convert02(ProductSpuDO spu, ProductFavoriteDO favorite);
|
|
|
|
|
|
- PageResult<ProductFavoriteRespVO> convertPage(PageResult<ProductFavoriteDetailDO> page);
|
|
|
|
}
|
|
}
|