Commit 8c4e3db32b0769034ccb0a7e8ecd4809d953881c
1 parent
2bd2cb56
feature(商城): 商城review改
Showing
9 changed files
with
14 additions
and
21 deletions
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueUpdateReqVO.java
| @@ -12,6 +12,6 @@ public class ProductPropertyValueUpdateReqVO extends ProductPropertyValueBaseVO | @@ -12,6 +12,6 @@ public class ProductPropertyValueUpdateReqVO extends ProductPropertyValueBaseVO | ||
| 12 | 12 | ||
| 13 | @ApiModelProperty(value = "主键", required = true, example = "1024") | 13 | @ApiModelProperty(value = "主键", required = true, example = "1024") |
| 14 | @NotNull(message = "主键不能为空") | 14 | @NotNull(message = "主键不能为空") |
| 15 | - private Integer id; | 15 | + private Long id; |
| 16 | 16 | ||
| 17 | } | 17 | } |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuDetailRespVO.java
| @@ -55,9 +55,8 @@ public class ProductSpuDetailRespVO extends ProductSpuBaseVO { | @@ -55,9 +55,8 @@ public class ProductSpuDetailRespVO extends ProductSpuBaseVO { | ||
| 55 | 55 | ||
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | - // TODO @luowenfeng: categoryIds => categoryId,example 也要改下哈 | ||
| 59 | - @ApiModelProperty(value = "分类 id 数组,一直递归到一级父节点", example = "[1,2,4]") | ||
| 60 | - private Long categoryIds; | 58 | + @ApiModelProperty(value = "分类 id 数组,一直递归到一级父节点", example = "4") |
| 59 | + private Long categoryId; | ||
| 61 | 60 | ||
| 62 | // TODO @芋艿:在瞅瞅~ | 61 | // TODO @芋艿:在瞅瞅~ |
| 63 | @ApiModelProperty(value = "规格属性修改和详情展示组合", example = "[{\"propertyId\":2,\"name\":\"内存\",\"propertyValues\":[{\"v1\":11,\"v2\":\"64G\"},{\"v1\":10,\"v2\":\"32G\"}]},{\"propertyId\":3,\"name\":\"尺寸\",\"propertyValues\":[{\"v1\":16,\"v2\":\"6.1\"},{\"v1\":15,\"v2\":\"5.7\"}]}]") | 62 | @ApiModelProperty(value = "规格属性修改和详情展示组合", example = "[{\"propertyId\":2,\"name\":\"内存\",\"propertyValues\":[{\"v1\":11,\"v2\":\"64G\"},{\"v1\":10,\"v2\":\"32G\"}]},{\"propertyId\":3,\"name\":\"尺寸\",\"propertyValues\":[{\"v1\":16,\"v2\":\"6.1\"},{\"v1\":15,\"v2\":\"5.7\"}]}]") |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/property/ProductPropertyMapper.java
| @@ -25,10 +25,9 @@ public interface ProductPropertyMapper extends BaseMapperX<ProductPropertyDO> { | @@ -25,10 +25,9 @@ public interface ProductPropertyMapper extends BaseMapperX<ProductPropertyDO> { | ||
| 25 | .orderByDesc(ProductPropertyDO::getId)); | 25 | .orderByDesc(ProductPropertyDO::getId)); |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | - // TODO @luowenfeng: selectByNameLike,这样更清晰哈。 | ||
| 29 | default ProductPropertyDO selectByName(String name) { | 28 | default ProductPropertyDO selectByName(String name) { |
| 30 | return selectOne(new LambdaQueryWrapperX<ProductPropertyDO>() | 29 | return selectOne(new LambdaQueryWrapperX<ProductPropertyDO>() |
| 31 | - .likeIfPresent(ProductPropertyDO::getName, name)); | 30 | + .eqIfPresent(ProductPropertyDO::getName, name)); |
| 32 | } | 31 | } |
| 33 | 32 | ||
| 34 | } | 33 | } |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/property/ProductPropertyValueMapper.java
| @@ -17,8 +17,7 @@ import java.util.List; | @@ -17,8 +17,7 @@ import java.util.List; | ||
| 17 | @Mapper | 17 | @Mapper |
| 18 | public interface ProductPropertyValueMapper extends BaseMapperX<ProductPropertyValueDO> { | 18 | public interface ProductPropertyValueMapper extends BaseMapperX<ProductPropertyValueDO> { |
| 19 | 19 | ||
| 20 | - // TODO @luowenfeng: selectListByPropertyId 是不是就可以啦 | ||
| 21 | - default List<ProductPropertyValueDO> selectListByPropertyValueListByPropertyId(List<Long> propertyIds) { | 20 | + default List<ProductPropertyValueDO> selectListByPropertyId(List<Long> propertyIds) { |
| 22 | return selectList(new LambdaQueryWrapperX<ProductPropertyValueDO>() | 21 | return selectList(new LambdaQueryWrapperX<ProductPropertyValueDO>() |
| 23 | .inIfPresent(ProductPropertyValueDO::getPropertyId, propertyIds)); | 22 | .inIfPresent(ProductPropertyValueDO::getPropertyId, propertyIds)); |
| 24 | } | 23 | } |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java
| @@ -40,8 +40,7 @@ public interface ProductSkuMapper extends BaseMapperX<ProductSkuDO> { | @@ -40,8 +40,7 @@ public interface ProductSkuMapper extends BaseMapperX<ProductSkuDO> { | ||
| 40 | } | 40 | } |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | - // TODO @luowenfeng: selectListByRemind,虽然不是很好,但是感觉会更清晰一些 | ||
| 44 | - default List<ProductSkuDO> selectRemindSpuIds(){ | 43 | + default List<ProductSkuDO> selectListByRemind(){ |
| 45 | return selectList(new QueryWrapper<ProductSkuDO>().apply("stock <= warn_stock")); | 44 | return selectList(new QueryWrapper<ProductSkuDO>().apply("stock <= warn_stock")); |
| 46 | } | 45 | } |
| 47 | 46 |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java
| @@ -19,6 +19,7 @@ import javax.annotation.Resource; | @@ -19,6 +19,7 @@ import javax.annotation.Resource; | ||
| 19 | import java.util.Collection; | 19 | import java.util.Collection; |
| 20 | import java.util.List; | 20 | import java.util.List; |
| 21 | import java.util.Map; | 21 | import java.util.Map; |
| 22 | +import java.util.Objects; | ||
| 22 | 23 | ||
| 23 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 24 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 24 | import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_EXISTS; | 25 | import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_EXISTS; |
| @@ -58,8 +59,8 @@ public class ProductPropertyServiceImpl implements ProductPropertyService { | @@ -58,8 +59,8 @@ public class ProductPropertyServiceImpl implements ProductPropertyService { | ||
| 58 | public void updateProperty(ProductPropertyUpdateReqVO updateReqVO) { | 59 | public void updateProperty(ProductPropertyUpdateReqVO updateReqVO) { |
| 59 | // 校验存在 | 60 | // 校验存在 |
| 60 | this.validatePropertyExists(updateReqVO.getId()); | 61 | this.validatePropertyExists(updateReqVO.getId()); |
| 61 | - // TODO @luowenfeng:如果是自己的情况下,名字相同也是 ok 的呀~ | ||
| 62 | - if (productPropertyMapper.selectByName(updateReqVO.getName()) != null) { | 62 | + ProductPropertyDO productPropertyDO = productPropertyMapper.selectByName(updateReqVO.getName()); |
| 63 | + if (productPropertyDO != null && !productPropertyDO.getId().equals(updateReqVO.getId())) { | ||
| 63 | throw exception(PROPERTY_EXISTS); | 64 | throw exception(PROPERTY_EXISTS); |
| 64 | } | 65 | } |
| 65 | // 更新 | 66 | // 更新 |
| @@ -97,10 +98,6 @@ public class ProductPropertyServiceImpl implements ProductPropertyService { | @@ -97,10 +98,6 @@ public class ProductPropertyServiceImpl implements ProductPropertyService { | ||
| 97 | return ProductPropertyConvert.INSTANCE.convertPage(pageResult); | 98 | return ProductPropertyConvert.INSTANCE.convertPage(pageResult); |
| 98 | } | 99 | } |
| 99 | 100 | ||
| 100 | - private List<ProductPropertyValueDO> getPropertyValueListByPropertyId(List<Long> propertyIds) { | ||
| 101 | - return productPropertyValueMapper.selectListByPropertyValueListByPropertyId(propertyIds); | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | @Override | 101 | @Override |
| 105 | public ProductPropertyRespVO getProperty(Long id) { | 102 | public ProductPropertyRespVO getProperty(Long id) { |
| 106 | ProductPropertyDO property = productPropertyMapper.selectById(id); | 103 | ProductPropertyDO property = productPropertyMapper.selectById(id); |
| @@ -117,7 +114,7 @@ public class ProductPropertyServiceImpl implements ProductPropertyService { | @@ -117,7 +114,7 @@ public class ProductPropertyServiceImpl implements ProductPropertyService { | ||
| 117 | List<ProductPropertyRespVO> propertyList = getPropertyList(listReqVO); | 114 | List<ProductPropertyRespVO> propertyList = getPropertyList(listReqVO); |
| 118 | 115 | ||
| 119 | // 查询属性值 | 116 | // 查询属性值 |
| 120 | - List<ProductPropertyValueDO> valueDOList = productPropertyValueMapper.selectListByPropertyValueListByPropertyId(CollectionUtils.convertList(propertyList, ProductPropertyRespVO::getId)); | 117 | + List<ProductPropertyValueDO> valueDOList = productPropertyValueMapper.selectListByPropertyId(CollectionUtils.convertList(propertyList, ProductPropertyRespVO::getId)); |
| 121 | Map<Long, List<ProductPropertyValueDO>> valueDOMap = CollectionUtils.convertMultiMap(valueDOList, ProductPropertyValueDO::getPropertyId); | 118 | Map<Long, List<ProductPropertyValueDO>> valueDOMap = CollectionUtils.convertMultiMap(valueDOList, ProductPropertyValueDO::getPropertyId); |
| 122 | return CollectionUtils.convertList(propertyList, m -> { | 119 | return CollectionUtils.convertList(propertyList, m -> { |
| 123 | ProductPropertyAndValueRespVO productPropertyAndValueRespVO = ProductPropertyConvert.INSTANCE.convert(m); | 120 | ProductPropertyAndValueRespVO productPropertyAndValueRespVO = ProductPropertyConvert.INSTANCE.convert(m); |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyValueServiceImpl.java
| @@ -14,6 +14,7 @@ import org.springframework.validation.annotation.Validated; | @@ -14,6 +14,7 @@ import org.springframework.validation.annotation.Validated; | ||
| 14 | 14 | ||
| 15 | import javax.annotation.Resource; | 15 | import javax.annotation.Resource; |
| 16 | import java.util.List; | 16 | import java.util.List; |
| 17 | +import java.util.Objects; | ||
| 17 | 18 | ||
| 18 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 19 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 19 | import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_VALUE_EXISTS; | 20 | import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_VALUE_EXISTS; |
| @@ -42,8 +43,8 @@ public class ProductPropertyValueServiceImpl implements ProductPropertyValueServ | @@ -42,8 +43,8 @@ public class ProductPropertyValueServiceImpl implements ProductPropertyValueServ | ||
| 42 | 43 | ||
| 43 | @Override | 44 | @Override |
| 44 | public void updatePropertyValue(ProductPropertyValueUpdateReqVO updateReqVO) { | 45 | public void updatePropertyValue(ProductPropertyValueUpdateReqVO updateReqVO) { |
| 45 | - // TODO @luowenfeng:如果是自己的情况下,名字相同也是 ok 的呀~ | ||
| 46 | - if (productPropertyValueMapper.selectByName(updateReqVO.getPropertyId(), updateReqVO.getName()) != null) { | 46 | + ProductPropertyValueDO productPropertyValueDO = productPropertyValueMapper.selectByName(updateReqVO.getPropertyId(), updateReqVO.getName()); |
| 47 | + if (productPropertyValueDO != null && !productPropertyValueDO.getId().equals(updateReqVO.getId())) { | ||
| 47 | throw exception(PROPERTY_VALUE_EXISTS); | 48 | throw exception(PROPERTY_VALUE_EXISTS); |
| 48 | } | 49 | } |
| 49 | ProductPropertyValueDO convert = ProductPropertyValueConvert.INSTANCE.convert(updateReqVO); | 50 | ProductPropertyValueDO convert = ProductPropertyValueConvert.INSTANCE.convert(updateReqVO); |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java
| @@ -139,7 +139,7 @@ public class ProductSkuServiceImpl implements ProductSkuService { | @@ -139,7 +139,7 @@ public class ProductSkuServiceImpl implements ProductSkuService { | ||
| 139 | 139 | ||
| 140 | @Override | 140 | @Override |
| 141 | public List<ProductSkuDO> getRemindSpuIds() { | 141 | public List<ProductSkuDO> getRemindSpuIds() { |
| 142 | - return productSkuMapper.selectRemindSpuIds(); | 142 | + return productSkuMapper.selectListByRemind(); |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | @Override | 145 | @Override |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java
| @@ -164,7 +164,6 @@ public class ProductSpuServiceImpl implements ProductSpuService { | @@ -164,7 +164,6 @@ public class ProductSpuServiceImpl implements ProductSpuService { | ||
| 164 | }); | 164 | }); |
| 165 | respVO.setProductPropertyViews(productPropertyViews); | 165 | respVO.setProductPropertyViews(productPropertyViews); |
| 166 | } | 166 | } |
| 167 | - respVO.setCategoryIds(respVO.getCategoryId()); | ||
| 168 | } | 167 | } |
| 169 | return respVO; | 168 | return respVO; |
| 170 | } | 169 | } |