Commit a778c25075bd694ecb49fd08b553f9797bf4a398
1 parent
728308cb
product:优化代码实现,简化重复判空
Showing
13 changed files
with
13 additions
and
245 deletions
yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/comment/dto/ProductCommentCreateReqDTO.java
| ... | ... | @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.product.api.comment.dto; |
| 2 | 2 | |
| 3 | 3 | import lombok.Data; |
| 4 | 4 | |
| 5 | +import javax.validation.constraints.NotNull; | |
| 5 | 6 | import java.util.List; |
| 6 | 7 | |
| 7 | 8 | /** |
| ... | ... | @@ -15,6 +16,7 @@ public class ProductCommentCreateReqDTO { |
| 15 | 16 | /** |
| 16 | 17 | * 商品 SKU 编号 |
| 17 | 18 | */ |
| 19 | + @NotNull(message = "商品 SKU 编号不能为空") | |
| 18 | 20 | private Long skuId; |
| 19 | 21 | /** |
| 20 | 22 | * 订单编号 |
| ... | ... | @@ -26,20 +28,19 @@ public class ProductCommentCreateReqDTO { |
| 26 | 28 | private Long orderItemId; |
| 27 | 29 | |
| 28 | 30 | /** |
| 29 | - * 评分星级 1-5 分 | |
| 30 | - */ | |
| 31 | - private Integer scores; | |
| 32 | - /** | |
| 33 | 31 | * 描述星级 1-5 分 |
| 34 | 32 | */ |
| 33 | + @NotNull(message = "描述星级不能为空") | |
| 35 | 34 | private Integer descriptionScores; |
| 36 | 35 | /** |
| 37 | 36 | * 服务星级 1-5 分 |
| 38 | 37 | */ |
| 38 | + @NotNull(message = "服务星级不能为空") | |
| 39 | 39 | private Integer benefitScores; |
| 40 | 40 | /** |
| 41 | 41 | * 评论内容 |
| 42 | 42 | */ |
| 43 | + @NotNull(message = "评论内容不能为空") | |
| 43 | 44 | private String content; |
| 44 | 45 | /** |
| 45 | 46 | * 评论图片地址数组,以逗号分隔最多上传 9 张 |
| ... | ... | @@ -49,11 +50,12 @@ public class ProductCommentCreateReqDTO { |
| 49 | 50 | /** |
| 50 | 51 | * 是否匿名 |
| 51 | 52 | */ |
| 53 | + @NotNull(message = "是否匿名不能为空") | |
| 52 | 54 | private Boolean anonymous; |
| 53 | 55 | /** |
| 54 | 56 | * 评价人 |
| 55 | 57 | */ |
| 58 | + @NotNull(message = "评价人不能为空") | |
| 56 | 59 | private Long userId; |
| 57 | 60 | |
| 58 | - | |
| 59 | 61 | } | ... | ... |
yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/property/ProductPropertyValueApi.java deleted
| 1 | -package cn.iocoder.yudao.module.product.api.property; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.module.product.api.property.dto.ProductPropertyValueDetailRespDTO; | |
| 4 | - | |
| 5 | -import java.util.Collection; | |
| 6 | -import java.util.List; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * 商品属性值 API 接口 | |
| 10 | - * | |
| 11 | - * @author 芋道源码 | |
| 12 | - */ | |
| 13 | -public interface ProductPropertyValueApi { | |
| 14 | - | |
| 15 | - /** | |
| 16 | - * 根据编号数组,获得属性值列表 | |
| 17 | - * | |
| 18 | - * @param ids 编号数组 | |
| 19 | - * @return 属性值明细列表 | |
| 20 | - */ | |
| 21 | - List<ProductPropertyValueDetailRespDTO> getPropertyValueDetailList(Collection<Long> ids); | |
| 22 | - | |
| 23 | -} |
yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/dto/ProductSpuRespDTO.java
| ... | ... | @@ -3,8 +3,6 @@ package cn.iocoder.yudao.module.product.api.spu.dto; |
| 3 | 3 | import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum; |
| 4 | 4 | import lombok.Data; |
| 5 | 5 | |
| 6 | -import java.util.List; | |
| 7 | - | |
| 8 | 6 | // TODO @LeeYan9: ProductSpuRespDTO |
| 9 | 7 | /** |
| 10 | 8 | * 商品 SPU 信息 Response DTO |
| ... | ... | @@ -27,55 +25,22 @@ public class ProductSpuRespDTO { |
| 27 | 25 | */ |
| 28 | 26 | private String name; |
| 29 | 27 | /** |
| 30 | - * 关键字 | |
| 31 | - */ | |
| 32 | - private String keyword; | |
| 33 | - /** | |
| 34 | 28 | * 单位 |
| 35 | 29 | * |
| 36 | 30 | * 对应 product_unit 数据字典 |
| 37 | 31 | */ |
| 38 | 32 | private Integer unit; |
| 39 | - /** | |
| 40 | - * 商品简介 | |
| 41 | - */ | |
| 42 | - private String introduction; | |
| 43 | - /** | |
| 44 | - * 商品详情 | |
| 45 | - */ | |
| 46 | - private String description; | |
| 47 | - // TODO @芋艿:是不是要删除 | |
| 48 | - /** | |
| 49 | - * 商品条码(一维码) | |
| 50 | - */ | |
| 51 | - private String barCode; | |
| 52 | 33 | |
| 53 | 34 | /** |
| 54 | 35 | * 商品分类编号 |
| 55 | 36 | */ |
| 56 | 37 | private Long categoryId; |
| 57 | 38 | /** |
| 58 | - * 商品品牌编号 | |
| 59 | - */ | |
| 60 | - private Long brandId; | |
| 61 | - /** | |
| 62 | 39 | * 商品封面图 |
| 63 | 40 | */ |
| 64 | 41 | private String picUrl; |
| 65 | - /** | |
| 66 | - * 商品轮播图 | |
| 67 | - */ | |
| 68 | - private List<String> sliderPicUrls; | |
| 69 | - /** | |
| 70 | - * 商品视频 | |
| 71 | - */ | |
| 72 | - private String videoUrl; | |
| 73 | 42 | |
| 74 | 43 | /** |
| 75 | - * 排序字段 | |
| 76 | - */ | |
| 77 | - private Integer sort; | |
| 78 | - /** | |
| 79 | 44 | * 商品状态 |
| 80 | 45 | * <p> |
| 81 | 46 | * 枚举 {@link ProductSpuStatusEnum} |
| ... | ... | @@ -124,22 +89,6 @@ public class ProductSpuRespDTO { |
| 124 | 89 | */ |
| 125 | 90 | private Integer giveIntegral; |
| 126 | 91 | |
| 127 | - // ========== 统计相关字段 ========= | |
| 128 | - | |
| 129 | - /** | |
| 130 | - * 商品销量 | |
| 131 | - */ | |
| 132 | - private Integer salesCount; | |
| 133 | - /** | |
| 134 | - * 虚拟销量 | |
| 135 | - */ | |
| 136 | - private Integer virtualSalesCount; | |
| 137 | - /** | |
| 138 | - * 商品点击量 | |
| 139 | - */ | |
| 140 | - private Integer clickCount; | |
| 141 | - | |
| 142 | - | |
| 143 | 92 | // ========== 分销相关字段 ========= |
| 144 | 93 | |
| 145 | 94 | /** | ... | ... |
yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/group/ProductGroupStyleEnum.java deleted
| 1 | -package cn.iocoder.yudao.module.product.enums.group; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.core.IntArrayValuable; | |
| 4 | -import lombok.AllArgsConstructor; | |
| 5 | -import lombok.Getter; | |
| 6 | - | |
| 7 | -import java.util.Arrays; | |
| 8 | - | |
| 9 | -/** | |
| 10 | - * 商品分组的样式枚举 | |
| 11 | - * | |
| 12 | - * @author 芋道源码 | |
| 13 | - */ | |
| 14 | -@Getter | |
| 15 | -@AllArgsConstructor | |
| 16 | -public enum ProductGroupStyleEnum implements IntArrayValuable { | |
| 17 | - | |
| 18 | - ONE(1, "每列一个"), | |
| 19 | - TWO(2, "每列两个"), | |
| 20 | - THREE(2, "每列三个"),; | |
| 21 | - | |
| 22 | - public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductGroupStyleEnum::getStyle).toArray(); | |
| 23 | - | |
| 24 | - /** | |
| 25 | - * 列表样式 | |
| 26 | - */ | |
| 27 | - private final Integer style; | |
| 28 | - /** | |
| 29 | - * 状态名 | |
| 30 | - */ | |
| 31 | - private final String name; | |
| 32 | - | |
| 33 | - @Override | |
| 34 | - public int[] array() { | |
| 35 | - return ARRAYS; | |
| 36 | - } | |
| 37 | - | |
| 38 | -} |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/property/ProductPropertyValueApiImpl.java deleted
| 1 | -package cn.iocoder.yudao.module.product.api.property; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.module.product.api.property.dto.ProductPropertyValueDetailRespDTO; | |
| 4 | -import cn.iocoder.yudao.module.product.convert.property.ProductPropertyValueConvert; | |
| 5 | -import cn.iocoder.yudao.module.product.service.property.ProductPropertyValueService; | |
| 6 | -import org.springframework.stereotype.Service; | |
| 7 | -import org.springframework.validation.annotation.Validated; | |
| 8 | - | |
| 9 | -import javax.annotation.Resource; | |
| 10 | -import java.util.Collection; | |
| 11 | -import java.util.List; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * 商品属性值 API 实现类 | |
| 15 | - * | |
| 16 | - * @author 芋道源码 | |
| 17 | - */ | |
| 18 | -@Service | |
| 19 | -@Validated | |
| 20 | -public class ProductPropertyValueApiImpl implements ProductPropertyValueApi { | |
| 21 | - | |
| 22 | - @Resource | |
| 23 | - private ProductPropertyValueService productPropertyValueService; | |
| 24 | - | |
| 25 | - @Override | |
| 26 | - public List<ProductPropertyValueDetailRespDTO> getPropertyValueDetailList(Collection<Long> ids) { | |
| 27 | - return ProductPropertyValueConvert.INSTANCE.convertList02( | |
| 28 | - productPropertyValueService.getPropertyValueDetailList(ids)); | |
| 29 | - } | |
| 30 | - | |
| 31 | -} |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/sku/ProductSkuApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.product.api.sku; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | 3 | import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO; |
| 5 | 4 | import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO; |
| 6 | 5 | import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; |
| ... | ... | @@ -11,7 +10,6 @@ import org.springframework.validation.annotation.Validated; |
| 11 | 10 | |
| 12 | 11 | import javax.annotation.Resource; |
| 13 | 12 | import java.util.Collection; |
| 14 | -import java.util.Collections; | |
| 15 | 13 | import java.util.List; |
| 16 | 14 | |
| 17 | 15 | /** |
| ... | ... | @@ -35,18 +33,12 @@ public class ProductSkuApiImpl implements ProductSkuApi { |
| 35 | 33 | |
| 36 | 34 | @Override |
| 37 | 35 | public List<ProductSkuRespDTO> getSkuList(Collection<Long> ids) { |
| 38 | - if (CollUtil.isEmpty(ids)) { | |
| 39 | - return Collections.emptyList(); | |
| 40 | - } | |
| 41 | 36 | List<ProductSkuDO> skus = productSkuService.getSkuList(ids); |
| 42 | 37 | return ProductSkuConvert.INSTANCE.convertList04(skus); |
| 43 | 38 | } |
| 44 | 39 | |
| 45 | 40 | @Override |
| 46 | 41 | public List<ProductSkuRespDTO> getSkuListBySpuId(Collection<Long> spuIds) { |
| 47 | - if (CollUtil.isEmpty(spuIds)) { | |
| 48 | - return Collections.emptyList(); | |
| 49 | - } | |
| 50 | 42 | List<ProductSkuDO> skus = productSkuService.getSkuListBySpuId(spuIds); |
| 51 | 43 | return ProductSkuConvert.INSTANCE.convertList04(skus); |
| 52 | 44 | } | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApiImpl.java
| ... | ... | @@ -27,9 +27,6 @@ public class ProductSpuApiImpl implements ProductSpuApi { |
| 27 | 27 | |
| 28 | 28 | @Override |
| 29 | 29 | public List<ProductSpuRespDTO> getSpuList(Collection<Long> ids) { |
| 30 | - if (CollectionUtil.isEmpty(ids)) { | |
| 31 | - return Collections.emptyList(); | |
| 32 | - } | |
| 33 | 30 | return ProductSpuConvert.INSTANCE.convertList2(spuService.getSpuList(ids)); |
| 34 | 31 | } |
| 35 | 32 | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/property/ProductPropertyValueConvert.java
| 1 | 1 | package cn.iocoder.yudao.module.product.convert.property; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 5 | -import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | |
| 6 | -import cn.iocoder.yudao.module.product.api.property.dto.ProductPropertyValueDetailRespDTO; | |
| 7 | 4 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValueCreateReqVO; |
| 8 | 5 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValueRespVO; |
| 9 | 6 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValueUpdateReqVO; |
| 10 | -import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO; | |
| 11 | 7 | import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; |
| 12 | -import cn.iocoder.yudao.module.product.service.property.bo.ProductPropertyValueDetailRespBO; | |
| 13 | 8 | import org.mapstruct.Mapper; |
| 14 | 9 | import org.mapstruct.factory.Mappers; |
| 15 | 10 | |
| 16 | 11 | import java.util.List; |
| 17 | -import java.util.Map; | |
| 18 | - | |
| 19 | -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; | |
| 20 | 12 | |
| 21 | 13 | /** |
| 22 | 14 | * 属性值 Convert |
| ... | ... | @@ -38,18 +30,4 @@ public interface ProductPropertyValueConvert { |
| 38 | 30 | |
| 39 | 31 | PageResult<ProductPropertyValueRespVO> convertPage(PageResult<ProductPropertyValueDO> page); |
| 40 | 32 | |
| 41 | - default List<ProductPropertyValueDetailRespBO> convertList(List<ProductPropertyValueDO> values, List<ProductPropertyDO> keys) { | |
| 42 | - Map<Long, ProductPropertyDO> keyMap = convertMap(keys, ProductPropertyDO::getId); | |
| 43 | - return CollectionUtils.convertList(values, value -> { | |
| 44 | - ProductPropertyValueDetailRespBO valueDetail = new ProductPropertyValueDetailRespBO() | |
| 45 | - .setValueId(value.getId()).setValueName(value.getName()); | |
| 46 | - // 设置属性项 | |
| 47 | - MapUtils.findAndThen(keyMap, value.getPropertyId(), | |
| 48 | - key -> valueDetail.setPropertyId(key.getId()).setPropertyName(key.getName())); | |
| 49 | - return valueDetail; | |
| 50 | - }); | |
| 51 | - } | |
| 52 | - | |
| 53 | - List<ProductPropertyValueDetailRespDTO> convertList02(List<ProductPropertyValueDetailRespBO> list); | |
| 54 | - | |
| 55 | 33 | } | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyValueService.java
| ... | ... | @@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.Produc |
| 5 | 5 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValuePageReqVO; |
| 6 | 6 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValueUpdateReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; |
| 8 | -import cn.iocoder.yudao.module.product.service.property.bo.ProductPropertyValueDetailRespBO; | |
| 9 | 8 | |
| 10 | 9 | import java.util.Collection; |
| 11 | 10 | import java.util.List; |
| ... | ... | @@ -57,14 +56,6 @@ public interface ProductPropertyValueService { |
| 57 | 56 | List<ProductPropertyValueDO> getPropertyValueListByPropertyId(Collection<Long> propertyIds); |
| 58 | 57 | |
| 59 | 58 | /** |
| 60 | - * 根据编号数组,获得属性值列表 | |
| 61 | - * | |
| 62 | - * @param ids 编号数组 | |
| 63 | - * @return 属性值明细列表 | |
| 64 | - */ | |
| 65 | - List<ProductPropertyValueDetailRespBO> getPropertyValueDetailList(Collection<Long> ids); | |
| 66 | - | |
| 67 | - /** | |
| 68 | 59 | * 根据属性项编号,活的属性值数量 |
| 69 | 60 | * |
| 70 | 61 | * @param propertyId 属性项编号数 | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyValueServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.product.service.property; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 4 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValueCreateReqVO; |
| 6 | 5 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValuePageReqVO; |
| 7 | 6 | import cn.iocoder.yudao.module.product.controller.admin.property.vo.value.ProductPropertyValueUpdateReqVO; |
| 8 | 7 | import cn.iocoder.yudao.module.product.convert.property.ProductPropertyValueConvert; |
| 9 | -import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO; | |
| 10 | 8 | import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; |
| 11 | 9 | import cn.iocoder.yudao.module.product.dal.mysql.property.ProductPropertyValueMapper; |
| 12 | -import cn.iocoder.yudao.module.product.service.property.bo.ProductPropertyValueDetailRespBO; | |
| 13 | 10 | import cn.iocoder.yudao.module.product.service.sku.ProductSkuService; |
| 14 | 11 | import org.springframework.context.annotation.Lazy; |
| 15 | 12 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -17,11 +14,9 @@ import org.springframework.validation.annotation.Validated; |
| 17 | 14 | |
| 18 | 15 | import javax.annotation.Resource; |
| 19 | 16 | import java.util.Collection; |
| 20 | -import java.util.Collections; | |
| 21 | 17 | import java.util.List; |
| 22 | 18 | |
| 23 | 19 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 24 | -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | |
| 25 | 20 | import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_VALUE_EXISTS; |
| 26 | 21 | import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_VALUE_NOT_EXISTS; |
| 27 | 22 | |
| ... | ... | @@ -100,23 +95,6 @@ public class ProductPropertyValueServiceImpl implements ProductPropertyValueServ |
| 100 | 95 | } |
| 101 | 96 | |
| 102 | 97 | @Override |
| 103 | - public List<ProductPropertyValueDetailRespBO> getPropertyValueDetailList(Collection<Long> ids) { | |
| 104 | - // 获得属性值列表 | |
| 105 | - if (CollUtil.isEmpty(ids)) { | |
| 106 | - return Collections.emptyList(); | |
| 107 | - } | |
| 108 | - List<ProductPropertyValueDO> values = productPropertyValueMapper.selectBatchIds(ids); | |
| 109 | - if (CollUtil.isEmpty(values)) { | |
| 110 | - return Collections.emptyList(); | |
| 111 | - } | |
| 112 | - // 获得属性项列表 | |
| 113 | - List<ProductPropertyDO> keys = productPropertyService.getPropertyList( | |
| 114 | - convertSet(values, ProductPropertyValueDO::getPropertyId)); | |
| 115 | - // 组装明细 | |
| 116 | - return ProductPropertyValueConvert.INSTANCE.convertList(values, keys); | |
| 117 | - } | |
| 118 | - | |
| 119 | - @Override | |
| 120 | 98 | public Integer getPropertyValueCountByPropertyId(Long propertyId) { |
| 121 | 99 | return productPropertyValueMapper.selectCountByPropertyId(propertyId); |
| 122 | 100 | } | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/bo/ProductPropertyValueDetailRespBO.java deleted
| 1 | -package cn.iocoder.yudao.module.product.service.property.bo; | |
| 2 | - | |
| 3 | -import lombok.Data; | |
| 4 | - | |
| 5 | -/** | |
| 6 | - * 商品属性项的明细 Response BO | |
| 7 | - * | |
| 8 | - * @author 芋道源码 | |
| 9 | - */ | |
| 10 | -@Data | |
| 11 | -public class ProductPropertyValueDetailRespBO { | |
| 12 | - | |
| 13 | - /** | |
| 14 | - * 属性的编号 | |
| 15 | - */ | |
| 16 | - private Long propertyId; | |
| 17 | - | |
| 18 | - /** | |
| 19 | - * 属性的名称 | |
| 20 | - */ | |
| 21 | - private String propertyName; | |
| 22 | - | |
| 23 | - /** | |
| 24 | - * 属性值的编号 | |
| 25 | - */ | |
| 26 | - private Long valueId; | |
| 27 | - | |
| 28 | - /** | |
| 29 | - * 属性值的名称 | |
| 30 | - */ | |
| 31 | - private String valueName; | |
| 32 | - | |
| 33 | -} |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java
| ... | ... | @@ -153,6 +153,9 @@ public class ProductSkuServiceImpl implements ProductSkuService { |
| 153 | 153 | |
| 154 | 154 | @Override |
| 155 | 155 | public List<ProductSkuDO> getSkuListBySpuId(Collection<Long> spuIds) { |
| 156 | + if (CollUtil.isEmpty(spuIds)) { | |
| 157 | + return Collections.emptyList(); | |
| 158 | + } | |
| 156 | 159 | return productSkuMapper.selectListBySpuId(spuIds); |
| 157 | 160 | } |
| 158 | 161 | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java
| ... | ... | @@ -216,6 +216,9 @@ public class ProductSpuServiceImpl implements ProductSpuService { |
| 216 | 216 | |
| 217 | 217 | @Override |
| 218 | 218 | public List<ProductSpuDO> getSpuList(Collection<Long> ids) { |
| 219 | + if (CollUtil.isEmpty(ids)) { | |
| 220 | + return Collections.emptyList(); | |
| 221 | + } | |
| 219 | 222 | return productSpuMapper.selectBatchIds(ids); |
| 220 | 223 | } |
| 221 | 224 | ... | ... |