|
@@ -118,6 +118,8 @@ public class ShopServiceImpl implements ShopService {
|
|
|
List<ProductItemVo> productList = shopMapper.getShopProductsSelect(showFlag, newvalidFlag, shopId, name, productCode, validFlag, featuredFlag, commodityType, bigTypeId, smallTypeId, tinyTypeId, groundMall);
|
|
|
if (null != productList && productList.size() > 0) {
|
|
|
for (ProductItemVo product : productList) {
|
|
|
+ // 前端判断不能有空
|
|
|
+ product.setGroundMall(product.getGroundMall().trim().replaceAll(" ",""));
|
|
|
String typeName = shopMapper.getTypeName(product.getBigTypeId(), product.getSmallTypeId(), product.getTinyTypeId());
|
|
|
product.setTypeName(typeName);
|
|
|
product.setIsChecked(false);
|
|
@@ -225,24 +227,27 @@ public class ShopServiceImpl implements ShopService {
|
|
|
if (StringUtils.isBlank(productDto.getDetailInfo())) {
|
|
|
return ResponseJson.error("参数异常:商品详情信息不能为空!", null);
|
|
|
}
|
|
|
- if (StringUtils.isBlank(productDto.getSkus())) {
|
|
|
+ if (StringUtils.isBlank(productDto.getSkus()) && StringUtils.isBlank(productDto.getMallSkus())) {
|
|
|
return ResponseJson.error("参数异常:商品sku不能为空!", null);
|
|
|
}
|
|
|
List<Sku> skus = JSON.parseArray(productDto.getSkus(), Sku.class);
|
|
|
+ if (null != skus && skus.size() > 0) {
|
|
|
skus.forEach(s -> {
|
|
|
Assert.notNull(s.getNormalPrice(), "市场价不能为空!");
|
|
|
Assert.notNull(s.getPrice(), "售价不能为空!");
|
|
|
Assert.notNull(s.getUnit(), "规格不能为空!");
|
|
|
Assert.notNull(s.getMinBuyNumber(), "起订量不能为空!");
|
|
|
});
|
|
|
+ }
|
|
|
List<Sku> mallSkus = JSON.parseArray(productDto.getMallSkus(), Sku.class);
|
|
|
- mallSkus.forEach(s -> {
|
|
|
- Assert.notNull(s.getNormalPrice(), "市场价不能为空!");
|
|
|
- Assert.notNull(s.getPrice(), "售价不能为空!");
|
|
|
- Assert.notNull(s.getUnit(), "规格不能为空!");
|
|
|
- Assert.notNull(s.getMinBuyNumber(), "起订量不能为空!");
|
|
|
- });
|
|
|
-
|
|
|
+ if (null != mallSkus && mallSkus.size() > 0) {
|
|
|
+ mallSkus.forEach(s -> {
|
|
|
+ Assert.notNull(s.getNormalPrice(), "市场价不能为空!");
|
|
|
+ Assert.notNull(s.getPrice(), "售价不能为空!");
|
|
|
+ Assert.notNull(s.getUnit(), "规格不能为空!");
|
|
|
+ Assert.notNull(s.getMinBuyNumber(), "起订量不能为空!");
|
|
|
+ });
|
|
|
+ }
|
|
|
JSONObject parseObject = JSON.parseObject(productDto.getParams());
|
|
|
//图片
|
|
|
List<Map<String, String>> imageList = (List<Map<String, String>>) parseObject.get("image");
|
|
@@ -398,16 +403,30 @@ public class ShopServiceImpl implements ShopService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 修改sku信息
|
|
|
+ * @param skus
|
|
|
+ * @param productId
|
|
|
+ */
|
|
|
public void updateSkus(List<Sku> skus, Integer productId) {
|
|
|
- skus.forEach(s -> {
|
|
|
- s.setProductId(productId);
|
|
|
- s.setOrganizeId(0);
|
|
|
- if (null != s.getSkuId()) {
|
|
|
- shopMapper.updateSku(s);
|
|
|
- } else {
|
|
|
- shopMapper.insertSku(s);
|
|
|
- }
|
|
|
- });
|
|
|
+ List<Integer> skuIds = new ArrayList<>();
|
|
|
+ if (null != skus && skus.size() > 0) {
|
|
|
+ skus.forEach(s -> {
|
|
|
+ s.setProductId(productId);
|
|
|
+ s.setOrganizeId(0);
|
|
|
+ if (null != s.getSkuId()) {
|
|
|
+ shopMapper.updateSku(s);
|
|
|
+ } else {
|
|
|
+ shopMapper.insertSku(s);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ skuIds = skus.stream().map(Sku::getSkuId).collect(Collectors.toList());
|
|
|
+ shopMapper.deleteSku(skuIds, productId, 0);
|
|
|
+ } else {
|
|
|
+ shopMapper.deleteSku(skuIds, productId, 0);
|
|
|
+ // 采美商城商品状态
|
|
|
+ shopMapper.updateVaildFlag(0, productId, 3);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -417,20 +436,29 @@ public class ShopServiceImpl implements ShopService {
|
|
|
* @param productId
|
|
|
*/
|
|
|
public void saveMallSku(List<Sku> skus, Integer productId) {
|
|
|
- skus.forEach(s -> {
|
|
|
- s.setProductId(productId);
|
|
|
- s.setOrganizeId(4);
|
|
|
- // 默认比例
|
|
|
- s.setOrganizePercent(17d);
|
|
|
- s.setShopPercent(80d);
|
|
|
- s.setCmPercent(3d);
|
|
|
- s.setOrganizeId(s.getOrganizeId());
|
|
|
- if (null == s.getSkuId()) {
|
|
|
- shopMapper.insertSku(s);
|
|
|
- } else {
|
|
|
- shopMapper.updateSku(s);
|
|
|
- }
|
|
|
- });
|
|
|
+ List<Integer> skuIds = new ArrayList<>();
|
|
|
+ if (null != skus && skus.size() > 0) {
|
|
|
+ skus.forEach(s -> {
|
|
|
+ s.setProductId(productId);
|
|
|
+ s.setOrganizeId(4);
|
|
|
+ // 默认比例
|
|
|
+ s.setOrganizePercent(17d);
|
|
|
+ s.setShopPercent(80d);
|
|
|
+ s.setCmPercent(3d);
|
|
|
+ s.setOrganizeId(s.getOrganizeId());
|
|
|
+ if (null == s.getSkuId()) {
|
|
|
+ shopMapper.insertSku(s);
|
|
|
+ } else {
|
|
|
+ shopMapper.updateSku(s);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ skuIds = skus.stream().map(Sku::getSkuId).collect(Collectors.toList());
|
|
|
+ shopMapper.deleteSku(skuIds, productId, 4);
|
|
|
+ } else {
|
|
|
+ shopMapper.deleteSku(skuIds, productId, 4);
|
|
|
+ // 采美商城商品状态
|
|
|
+ shopMapper.updateVaildFlag(4, productId, 3);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -457,6 +485,8 @@ public class ShopServiceImpl implements ShopService {
|
|
|
}
|
|
|
// 上架平台
|
|
|
product.setGroundMall(product.getGroundMall().replaceAll("##", ","));
|
|
|
+ // 前端判断不能有空格
|
|
|
+ product.setGroundMall(product.getGroundMall().trim().replaceAll(" ",""));
|
|
|
if (StringUtils.isNotBlank(product.getTags())) {
|
|
|
String[] tags = product.getTags().split(",");
|
|
|
product.setTagsList(tags);
|