Commit 2382ddfb372c2ac94d086396c3d294c4c527ce37
1 parent
c118d819
spu sku review调整一波
Showing
10 changed files
with
18 additions
and
24 deletions
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java
| ... | ... | @@ -25,8 +25,7 @@ import java.util.List; |
| 25 | 25 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 26 | 26 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
| 27 | 27 | |
| 28 | -// TODO @franky:中英文之间要有空格哈。商品 sku | |
| 29 | -@Api(tags = "管理后台 - 商品sku") | |
| 28 | +@Api(tags = "管理后台-商品 sku") | |
| 30 | 29 | @RestController |
| 31 | 30 | @RequestMapping("/product/sku") |
| 32 | 31 | @Validated | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuCreateReqVO.java
| ... | ... | @@ -16,9 +16,8 @@ import java.util.List; |
| 16 | 16 | @ToString(callSuper = true) |
| 17 | 17 | public class ProductSpuCreateReqVO extends ProductSpuBaseVO { |
| 18 | 18 | |
| 19 | - // TODO @franky:这种可以缩写下,skus | |
| 20 | 19 | @ApiModelProperty(value = "sku组合") |
| 21 | 20 | @Valid |
| 22 | - List<ProductSkuCreateReqVO> productSkuCreateReqVOS; | |
| 21 | + List<ProductSkuCreateReqVO> skus; | |
| 23 | 22 | |
| 24 | 23 | } | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/propertyvalue/ProductPropertyValueConvert.java
| ... | ... | @@ -4,7 +4,7 @@ import java.util.*; |
| 4 | 4 | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | |
| 7 | -import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.ProductPropertyValueDO; | |
| 7 | +import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; | |
| 8 | 8 | import org.mapstruct.Mapper; |
| 9 | 9 | import org.mapstruct.factory.Mappers; |
| 10 | 10 | import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.*; | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/propertyvalue/ProductPropertyValueDO.java renamed to yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/property/ProductPropertyValueDO.java
| 1 | -package cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue; | |
| 1 | +package cn.iocoder.yudao.module.product.dal.dataobject.property; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO; | |
| 5 | 4 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 6 | 5 | import com.baomidou.mybatisplus.annotation.TableId; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 8 | 7 | import lombok.*; |
| 9 | 8 | |
| 10 | -// TODO @franky:包放到 property 中 | |
| 9 | + | |
| 11 | 10 | /** |
| 12 | 11 | * 规格值 DO |
| 13 | 12 | * | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/propertyvalue/ProductPropertyValueMapper.java
| ... | ... | @@ -4,7 +4,7 @@ import java.util.*; |
| 4 | 4 | |
| 5 | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | 6 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 7 | -import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.ProductPropertyValueDO; | |
| 7 | +import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; | |
| 8 | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | 9 | |
| 10 | 10 | /** | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java
| ... | ... | @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.Product |
| 7 | 7 | import cn.iocoder.yudao.module.product.convert.property.ProductPropertyConvert; |
| 8 | 8 | import cn.iocoder.yudao.module.product.convert.propertyvalue.ProductPropertyValueConvert; |
| 9 | 9 | import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO; |
| 10 | -import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.ProductPropertyValueDO; | |
| 10 | +import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; | |
| 11 | 11 | import cn.iocoder.yudao.module.product.dal.mysql.property.ProductPropertyMapper; |
| 12 | 12 | import cn.iocoder.yudao.module.product.dal.mysql.propertyvalue.ProductPropertyValueMapper; |
| 13 | 13 | import org.springframework.stereotype.Service; | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java
| ... | ... | @@ -72,20 +72,18 @@ public interface ProductSkuService { |
| 72 | 72 | */ |
| 73 | 73 | List<ProductSkuDO> getSkuList(ProductSkuExportReqVO exportReqVO); |
| 74 | 74 | |
| 75 | - // TODO @franky:validateSkus;skuCreateReqList => list | |
| 76 | 75 | /** |
| 77 | 76 | * 对 sku 的组合的属性等进行合法性校验 |
| 78 | 77 | * |
| 79 | - * @param skuCreateReqList sku组合的集合 | |
| 78 | + * @param list sku组合的集合 | |
| 80 | 79 | */ |
| 81 | - void validatedSkuReq(List<ProductSkuCreateReqVO> skuCreateReqList); | |
| 80 | + void validateSkus(List<ProductSkuCreateReqVO> list); | |
| 82 | 81 | |
| 83 | 82 | /** |
| 84 | 83 | * 批量保存sku |
| 85 | - * @param skuDOList sku对象集合 | |
| 86 | - * @return // TODO @franky:这里的 return 可以去掉;方法名可以改成 createSkus(list) | |
| 84 | + * @param list sku对象集合 | |
| 87 | 85 | */ |
| 88 | - void batchSave(List<ProductSkuDO> skuDOList); | |
| 86 | + void createSkus(List<ProductSkuDO> list); | |
| 89 | 87 | |
| 90 | 88 | /** |
| 91 | 89 | * 获得商品sku 集合 | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java
| ... | ... | @@ -90,8 +90,8 @@ public class ProductSkuServiceImpl implements ProductSkuService { |
| 90 | 90 | |
| 91 | 91 | // TODO @franky:这个方法,貌似实现的还是有点问题哈。例如说,throw 异常,后面还执行逻辑~ |
| 92 | 92 | @Override |
| 93 | - public void validatedSkuReq(List<ProductSkuCreateReqVO> skuCreateReqList) { | |
| 94 | - List<ProductSkuBaseVO.Property> skuPropertyList = skuCreateReqList.stream().flatMap(p -> p.getProperties().stream()).collect(Collectors.toList()); | |
| 93 | + public void validateSkus(List<ProductSkuCreateReqVO> list) { | |
| 94 | + List<ProductSkuBaseVO.Property> skuPropertyList = list.stream().flatMap(p -> p.getProperties().stream()).collect(Collectors.toList()); | |
| 95 | 95 | // 校验规格属性以及规格值是否存在 |
| 96 | 96 | List<Long> propertyIds = skuPropertyList.stream().map(ProductSkuBaseVO.Property::getPropertyId).collect(Collectors.toList()); |
| 97 | 97 | List<ProductPropertyRespVO> propertyAndValueList = productPropertyService.selectByIds(propertyIds); |
| ... | ... | @@ -109,7 +109,7 @@ public class ProductSkuServiceImpl implements ProductSkuService { |
| 109 | 109 | } |
| 110 | 110 | }); |
| 111 | 111 | // 校验是否有重复的sku组合 |
| 112 | - List<List<ProductSkuBaseVO.Property>> skuProperties = skuCreateReqList.stream().map(ProductSkuBaseVO::getProperties).collect(Collectors.toList()); | |
| 112 | + List<List<ProductSkuBaseVO.Property>> skuProperties = list.stream().map(ProductSkuBaseVO::getProperties).collect(Collectors.toList()); | |
| 113 | 113 | Set<String> skuPropertiesConvertSet = new HashSet<>(); |
| 114 | 114 | skuProperties.forEach(p -> { |
| 115 | 115 | // 组合属性值id为 1~2~3.... 形式的字符串,通过set的特性判断是否有重复的组合 |
| ... | ... | @@ -120,7 +120,7 @@ public class ProductSkuServiceImpl implements ProductSkuService { |
| 120 | 120 | } |
| 121 | 121 | |
| 122 | 122 | @Override |
| 123 | - public void batchSave(List<ProductSkuDO> skuDOList) { | |
| 123 | + public void createSkus(List<ProductSkuDO> skuDOList) { | |
| 124 | 124 | productSkuMapper.insertBatch(skuDOList); |
| 125 | 125 | } |
| 126 | 126 | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java
| ... | ... | @@ -50,8 +50,8 @@ public class ProductSpuServiceImpl implements ProductSpuService { |
| 50 | 50 | // 校验分类 |
| 51 | 51 | categoryService.validatedCategoryById(createReqVO.getCategoryId()); |
| 52 | 52 | // 校验SKU |
| 53 | - List<ProductSkuCreateReqVO> skuCreateReqList = createReqVO.getProductSkuCreateReqVOS(); | |
| 54 | - productSkuService.validatedSkuReq(skuCreateReqList); | |
| 53 | + List<ProductSkuCreateReqVO> skuCreateReqList = createReqVO.getSkus(); | |
| 54 | + productSkuService.validateSkus(skuCreateReqList); | |
| 55 | 55 | // 插入SPU |
| 56 | 56 | ProductSpuDO spu = ProductSpuConvert.INSTANCE.convert(createReqVO); |
| 57 | 57 | ProductSpuMapper.insert(spu); |
| ... | ... | @@ -61,7 +61,7 @@ public class ProductSpuServiceImpl implements ProductSpuService { |
| 61 | 61 | }); |
| 62 | 62 | List<ProductSkuDO> skuDOList = ProductSkuConvert.INSTANCE.convertSkuDOList(skuCreateReqList); |
| 63 | 63 | // 批量插入sku |
| 64 | - productSkuService.batchSave(skuDOList); | |
| 64 | + productSkuService.createSkus(skuDOList); | |
| 65 | 65 | // 返回 |
| 66 | 66 | return spu.getId(); |
| 67 | 67 | } | ... | ... |