zoujiajian há 2 anos atrás
pai
commit
43a7fe8e66

+ 10 - 5
netflix-service/src/main/java/com/cyksj/service/mange/goods/CmsGoodsDonSpecServiceImpl.java

@@ -147,8 +147,8 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 			//sku
 			List<GoodsDonSku> goodsDonSkus = goodsDonSkuMapper.selectList(Wrappers.lambdaQuery(GoodsDonSku.class)
 					.eq(GoodsDonSku::getGoodsId, goods.getId()));
-			resetSkuSpec(goodsDonSkus, spec);
-			goodsDonSkus.stream().forEach(sku -> backInfoTranslationsService.saveOrUpdateBackInfoTranslations(BackInfoTranslations.Type.sku, sku.getId(), sku, lang));
+			List<GoodsDonSku> resetSkuSpec = resetSkuSpec(goodsDonSkus, spec);
+			resetSkuSpec.stream().forEach(sku -> backInfoTranslationsService.saveOrUpdateBackInfoTranslations(BackInfoTranslations.Type.sku, sku.getId(), sku, lang));
 		} else {
 			if (insert.getId() != null) {
 				this.updateById(spec);
@@ -495,12 +495,14 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 	}
 
 	//多语言设置sku
-	public void resetSkuSpec(List<GoodsDonSku> skus, GoodsDonSpec loveSpec) throws Exception {
+	public List<GoodsDonSku> resetSkuSpec(List<GoodsDonSku> skus, GoodsDonSpec loveSpec) throws Exception {
 		StringBuilder builder = new StringBuilder();
 		List<ReqGoodsSpecSingle> specList = null;
 		JavaType type = Jsons.javaType().constructMapType(HashMap.class, Integer.class, ReqGoodsSpecSingle.class);
 		Map<Integer, ReqGoodsSpecSingle> map = Jsons.parseObject(loveSpec.getSpecMapping(), type);
 		int specNumber = loveSpec.getSpecNumber();
+		List<GoodsDonSku> reSkuList = new ArrayList<>();
+		GoodsDonSku reSku = null;
 		for (GoodsDonSku sku : skus) {
 			final String specIds = sku.getSpecIds();
 			if (StringUtils.isBlank(specIds)) {
@@ -523,10 +525,13 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 				builder.append(single.getName()).append(';');
 				specList.add(single);
 			}
+			reSku = new GoodsDonSku();
 			String specVal = builder.toString();
 			String specJson = Jsons.toJson(specList);
-			sku.setSpecVal(specVal);
-			sku.setSpecJson(specJson);
+			reSku.setSpecVal(specVal);
+			reSku.setSpecJson(specJson);
+			reSkuList.add(reSku);
 		}
+		return reSkuList;
 	}
 }