mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-25 00:15:06 +08:00
Merge remote-tracking branch 'origin/feature/1.8.0-uniapp' into feature/1.8.0-uniapp
# Conflicts: # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java # yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java
This commit is contained in:
@ -38,7 +38,6 @@ public class ProductSkuBaseVO {
|
||||
private Integer costPrice;
|
||||
|
||||
@ApiModelProperty(value = "条形码", example = "haha")
|
||||
@NotNull(message = "条形码不能为空")
|
||||
private String barCode;
|
||||
|
||||
@ApiModelProperty(value = "图片地址")
|
||||
|
@ -49,7 +49,7 @@ public class ProductPropertyServiceImpl implements ProductPropertyService {
|
||||
//插入属性值
|
||||
List<ProductPropertyValueCreateReqVO> propertyValueList = createReqVO.getPropertyValueList();
|
||||
List<ProductPropertyValueDO> productPropertyValueDOList = ProductPropertyValueConvert.INSTANCE.convertList03(propertyValueList);
|
||||
productPropertyValueDOList.stream().forEach(x-> x.setPropertyId(property.getId()));
|
||||
productPropertyValueDOList.forEach(x-> x.setPropertyId(property.getId()));
|
||||
productPropertyValueMapper.insertBatch(productPropertyValueDOList);
|
||||
// 返回
|
||||
return property.getId();
|
||||
@ -67,7 +67,7 @@ public class ProductPropertyServiceImpl implements ProductPropertyService {
|
||||
productPropertyValueMapper.deletePropertyValueByPropertyId(updateReqVO.getId());
|
||||
List<ProductPropertyValueCreateReqVO> propertyValueList = updateReqVO.getPropertyValueList();
|
||||
List<ProductPropertyValueDO> productPropertyValueDOList = ProductPropertyValueConvert.INSTANCE.convertList03(propertyValueList);
|
||||
productPropertyValueDOList.stream().forEach(x-> x.setPropertyId(updateReqVO.getId()));
|
||||
productPropertyValueDOList.forEach(x-> x.setPropertyId(updateReqVO.getId()));
|
||||
productPropertyValueMapper.insertBatch(productPropertyValueDOList);
|
||||
}
|
||||
|
||||
|
@ -2,9 +2,14 @@ package cn.iocoder.yudao.module.product.service.sku;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.property.vo.ProductPropertyCreateReqVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.property.vo.ProductPropertyRespVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.ProductPropertyValueCreateReqVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.ProductPropertyValueRespVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuBaseVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuCreateReqVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuPageReqVO;
|
||||
import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
|
||||
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
|
||||
import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper;
|
||||
@ -84,11 +89,9 @@ public class ProductSkuServiceImpl implements ProductSkuService {
|
||||
return productSkuMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
// TODO @franky:这个方法,貌似实现的还是有点问题哈。例如说,throw 异常,后面还执行逻辑~
|
||||
// TODO @艿艿 咳咳,throw 那里我是偷懒省略了{},哈哈,我加上,然后我调试下,在优化下
|
||||
@Override
|
||||
public void validateSkus(List<ProductSkuCreateOrUpdateReqVO> list) {
|
||||
List<ProductSkuBaseVO.Property> skuPropertyList = list.stream().flatMap(p -> p.getProperties().stream()).collect(Collectors.toList());
|
||||
public void validateSkus(List<ProductSkuCreateReqVO> list) {
|
||||
List<ProductSkuBaseVO.Property> skuPropertyList = list.stream().flatMap(p -> Optional.of(p.getProperties()).orElse(new ArrayList<>()).stream()).collect(Collectors.toList());
|
||||
// 校验规格属性以及规格值是否存在
|
||||
List<Long> propertyIds = skuPropertyList.stream().map(ProductSkuBaseVO.Property::getPropertyId).collect(Collectors.toList());
|
||||
List<ProductPropertyRespVO> propertyAndValueList = productPropertyService.selectByIds(propertyIds);
|
||||
@ -99,8 +102,9 @@ public class ProductSkuServiceImpl implements ProductSkuService {
|
||||
skuPropertyList.forEach(p -> {
|
||||
ProductPropertyRespVO productPropertyRespVO = propertyMap.get(p.getPropertyId());
|
||||
// 如果对应的属性名不存在或属性名下的属性值集合为空,给出提示
|
||||
if (null == productPropertyRespVO || productPropertyRespVO.getPropertyValueList().isEmpty())
|
||||
if (null == productPropertyRespVO || productPropertyRespVO.getPropertyValueList().isEmpty()) {
|
||||
throw ServiceExceptionUtil.exception(PROPERTY_NOT_EXISTS);
|
||||
}
|
||||
// 判断改属性名对应的属性值是否存在,不存在,给出提示
|
||||
if (!productPropertyRespVO.getPropertyValueList().stream().map(ProductPropertyValueRespVO::getId).collect(Collectors.toSet()).contains(p.getValueId())) {
|
||||
throw ServiceExceptionUtil.exception(ErrorCodeConstants.PROPERTY_VALUE_NOT_EXISTS);
|
||||
|
@ -56,8 +56,10 @@ public class ProductSpuServiceImpl implements ProductSpuService {
|
||||
// 校验分类
|
||||
categoryService.validateProductCategory(createReqVO.getCategoryId());
|
||||
// 校验SKU
|
||||
List<ProductSkuCreateOrUpdateReqVO> skuCreateReqList = createReqVO.getSkus();
|
||||
productSkuService.validateSkus(skuCreateReqList);
|
||||
List<ProductSkuCreateReqVO> skuCreateReqList = createReqVO.getSkus();
|
||||
if(createReqVO.getSpecType() == 1) {
|
||||
productSkuService.validateSkus(skuCreateReqList);
|
||||
}
|
||||
// 插入SPU
|
||||
ProductSpuDO spu = ProductSpuConvert.INSTANCE.convert(createReqVO);
|
||||
ProductSpuMapper.insert(spu);
|
||||
@ -76,8 +78,10 @@ public class ProductSpuServiceImpl implements ProductSpuService {
|
||||
// 校验分类
|
||||
categoryService.validateProductCategory(updateReqVO.getCategoryId());
|
||||
// 校验SKU
|
||||
List<ProductSkuCreateOrUpdateReqVO> skuCreateReqList = updateReqVO.getSkus();
|
||||
productSkuService.validateSkus(skuCreateReqList);
|
||||
List<ProductSkuCreateReqVO> skuCreateReqList = updateReqVO.getSkus();
|
||||
if(updateReqVO.getSpecType() == 1) {
|
||||
productSkuService.validateSkus(skuCreateReqList);
|
||||
}
|
||||
// 更新
|
||||
ProductSpuDO updateObj = ProductSpuConvert.INSTANCE.convert(updateReqVO);
|
||||
ProductSpuMapper.updateById(updateObj);
|
||||
|
Reference in New Issue
Block a user