|
@@ -13,6 +13,7 @@ import com.hys.app.framework.database.WebPage;
|
|
import com.hys.app.framework.database.mybatisplus.base.BaseServiceImpl;
|
|
import com.hys.app.framework.database.mybatisplus.base.BaseServiceImpl;
|
|
import com.hys.app.framework.exception.ServiceException;
|
|
import com.hys.app.framework.exception.ServiceException;
|
|
import com.hys.app.framework.util.BeanUtils;
|
|
import com.hys.app.framework.util.BeanUtils;
|
|
|
|
+import com.hys.app.mapper.goods.GoodsGalleryMapper;
|
|
import com.hys.app.mapper.goods.GoodsMapper;
|
|
import com.hys.app.mapper.goods.GoodsMapper;
|
|
import com.hys.app.model.erp.dos.AreaStock;
|
|
import com.hys.app.model.erp.dos.AreaStock;
|
|
import com.hys.app.model.erp.dos.GoodsDO;
|
|
import com.hys.app.model.erp.dos.GoodsDO;
|
|
@@ -53,6 +54,7 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
|
|
private ProductManager productManager;
|
|
private ProductManager productManager;
|
|
private GoodsGalleryManager goodsGalleryManager;
|
|
private GoodsGalleryManager goodsGalleryManager;
|
|
private ProductStockConverter productStockConverter;
|
|
private ProductStockConverter productStockConverter;
|
|
|
|
+ private GoodsGalleryMapper goodsGalleryMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public WebPage<GoodsVO> list(GoodsQueryParams queryParams) {
|
|
public WebPage<GoodsVO> list(GoodsQueryParams queryParams) {
|
|
@@ -67,18 +69,27 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
|
|
checkParams(goodsDTO);
|
|
checkParams(goodsDTO);
|
|
GoodsDO goodsDO = BeanUtil.copyProperties(goodsDTO, GoodsDO.class);
|
|
GoodsDO goodsDO = BeanUtil.copyProperties(goodsDTO, GoodsDO.class);
|
|
List<ProductDO> bean = BeanUtils.toBean(goodsDTO.getProductList(), ProductDO.class);
|
|
List<ProductDO> bean = BeanUtils.toBean(goodsDTO.getProductList(), ProductDO.class);
|
|
-
|
|
|
|
|
|
+ // 保存相册
|
|
|
|
+ super.save(goodsDO);
|
|
this.goodsGalleryManager.add(goodsDTO.getImageList(), goodsDO.getId());
|
|
this.goodsGalleryManager.add(goodsDTO.getImageList(), goodsDO.getId());
|
|
GoodsGalleryDO goodsGallery = goodsGalleryManager.getGoodsGallery(goodsDTO.getImageList().get(0).getOriginal());
|
|
GoodsGalleryDO goodsGallery = goodsGalleryManager.getGoodsGallery(goodsDTO.getImageList().get(0).getOriginal());
|
|
goodsDO.setImageSmallList(goodsGallery.getSmall());
|
|
goodsDO.setImageSmallList(goodsGallery.getSmall());
|
|
- // 保存相册
|
|
|
|
- super.save(goodsDO);
|
|
|
|
bean.forEach(item ->{
|
|
bean.forEach(item ->{
|
|
item.setGoodsId(goodsDO.getId());
|
|
item.setGoodsId(goodsDO.getId());
|
|
item.setName(goodsDTO.getName());
|
|
item.setName(goodsDTO.getName());
|
|
item.setHireOrSail(goodsDO.getHireOrSail());
|
|
item.setHireOrSail(goodsDO.getHireOrSail());
|
|
});
|
|
});
|
|
productManager.saveBatch(bean);
|
|
productManager.saveBatch(bean);
|
|
|
|
+ //前段skuid带不过来,先删除在新增在判断sku充不重复
|
|
|
|
+ for (ProductDO productDO : bean) {
|
|
|
|
+ long count = productManager.count(new LambdaQueryWrapper<ProductDO>().eq(ProductDO::getSku, productDO.getSku()));
|
|
|
|
+ if (count>1){
|
|
|
|
+ throw new ServiceException("sku已存在");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
for (int i = 1; i <= bean.size(); i++) {
|
|
for (int i = 1; i <= bean.size(); i++) {
|
|
bean.get(i-1).setSort(bean.get(i-1).getId()+100000000*i);
|
|
bean.get(i-1).setSort(bean.get(i-1).getId()+100000000*i);
|
|
}
|
|
}
|
|
@@ -101,7 +112,7 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
|
|
productManager.remove(new LambdaQueryWrapper<ProductDO>().eq(ProductDO::getGoodsId, goodsDTO.getId()));
|
|
productManager.remove(new LambdaQueryWrapper<ProductDO>().eq(ProductDO::getGoodsId, goodsDTO.getId()));
|
|
List<ProductDO> bean = BeanUtils.toBean(goodsDTO.getProductList(), ProductDO.class);
|
|
List<ProductDO> bean = BeanUtils.toBean(goodsDTO.getProductList(), ProductDO.class);
|
|
// 保存相册
|
|
// 保存相册
|
|
- goodsGalleryManager.edit(goodsDTO.getImageList(), goodsDTO.getId());
|
|
|
|
|
|
+ goodsGalleryMapper.delete(new LambdaQueryWrapper<GoodsGalleryDO>().eq(GoodsGalleryDO::getGoodsId,goodsDTO.getId()));
|
|
this.goodsGalleryManager.add(goodsDTO.getImageList(), goodsDO.getId());
|
|
this.goodsGalleryManager.add(goodsDTO.getImageList(), goodsDO.getId());
|
|
GoodsGalleryDO goodsGallery = goodsGalleryManager.getGoodsGallery(goodsDTO.getImageList().get(0).getOriginal());
|
|
GoodsGalleryDO goodsGallery = goodsGalleryManager.getGoodsGallery(goodsDTO.getImageList().get(0).getOriginal());
|
|
goodsDO.setImageSmallList(goodsGallery.getSmall());
|
|
goodsDO.setImageSmallList(goodsGallery.getSmall());
|
|
@@ -139,26 +150,26 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
|
|
}
|
|
}
|
|
|
|
|
|
for (ProductDTO productDTO : goodsDTO.getProductList()) {
|
|
for (ProductDTO productDTO : goodsDTO.getProductList()) {
|
|
- ProductDO productDO = productManager.getOne(new LambdaQueryWrapper<ProductDO>()
|
|
|
|
- .eq(ProductDO::getSku, productDTO.getSku())
|
|
|
|
- .ne(ObjectUtil.isNotNull(productDTO.getId()), ProductDO::getId, productDTO.getId())
|
|
|
|
- .last("limit 1"));
|
|
|
|
- if (ObjectUtil.isNotNull(productDO)) {
|
|
|
|
- throw new ServiceException("sku已存在");
|
|
|
|
- }
|
|
|
|
|
|
+// ProductDO productDO = productManager.getOne(new LambdaQueryWrapper<ProductDO>()
|
|
|
|
+// .eq(ProductDO::getSku, productDTO.getSku())
|
|
|
|
+// .ne(ObjectUtil.isNotNull(productDTO.getId()), ProductDO::getId, productDTO.getId())
|
|
|
|
+// .last("limit 1"));
|
|
|
|
+// if (ObjectUtil.isNotNull(productDO)) {
|
|
|
|
+// throw new ServiceException("sku已存在");
|
|
|
|
+// }
|
|
//校验sku是否包含中文
|
|
//校验sku是否包含中文
|
|
Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]");
|
|
Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]");
|
|
Matcher matcher = pattern.matcher(productDTO.getSku());
|
|
Matcher matcher = pattern.matcher(productDTO.getSku());
|
|
if (matcher.find()){
|
|
if (matcher.find()){
|
|
throw new ServiceException("sku不能包含中文");
|
|
throw new ServiceException("sku不能包含中文");
|
|
}
|
|
}
|
|
- ProductDO codeOne = productManager.getOne(new LambdaQueryWrapper<ProductDO>()
|
|
|
|
- .eq(ProductDO::getBarCode, productDTO.getBarCode())
|
|
|
|
- .ne(ObjectUtil.isNotNull(productDTO.getId()), ProductDO::getId, productDTO.getId())
|
|
|
|
- .last("limit 1"));
|
|
|
|
- if (ObjectUtil.isNotNull(codeOne)) {
|
|
|
|
- throw new ServiceException("条码已存在");
|
|
|
|
- }
|
|
|
|
|
|
+// ProductDO codeOne = productManager.getOne(new LambdaQueryWrapper<ProductDO>()
|
|
|
|
+// .eq(ProductDO::getBarCode, productDTO.getBarCode())
|
|
|
|
+// .ne(ObjectUtil.isNotNull(productDTO.getId()), ProductDO::getId, productDTO.getId())
|
|
|
|
+// .last("limit 1"));
|
|
|
|
+// if (ObjectUtil.isNotNull(codeOne)) {
|
|
|
|
+// throw new ServiceException("条码已存在");
|
|
|
|
+// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|