zoujiajian 2 лет назад
Родитель
Сommit
4f86b157fe

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

@@ -10,14 +10,13 @@ import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.GoodsDonMapper;
 import com.cyksj.mapper.GoodsDonMapper;
 import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.mapper.GoodsDonSpecMapper;
 import com.cyksj.mapper.GoodsDonSpecMapper;
-import com.cyksj.model.entity.GoodsDon;
-import com.cyksj.model.entity.GoodsDonSku;
-import com.cyksj.model.entity.GoodsDonSpec;
+import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.request.ReqGoodsSkuInsert;
 import com.cyksj.model.manage.request.ReqGoodsSkuInsert;
 import com.cyksj.model.manage.request.ReqGoodsSkuSpec;
 import com.cyksj.model.manage.request.ReqGoodsSkuSpec;
 import com.cyksj.model.manage.request.ReqGoodsSpecSingle;
 import com.cyksj.model.manage.request.ReqGoodsSpecSingle;
 import com.cyksj.model.request.CombinationSkuReq;
 import com.cyksj.model.request.CombinationSkuReq;
 import com.cyksj.service.mange.CmsGoodsDonSpecService;
 import com.cyksj.service.mange.CmsGoodsDonSpecService;
+import com.cyksj.service.translations.BackInfoTranslationsService;
 import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.JavaType;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
@@ -25,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentHashMap;
@@ -43,10 +43,15 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 
 
 	private final GoodsDonSkuMapper goodsDonSkuMapper;
 	private final GoodsDonSkuMapper goodsDonSkuMapper;
 
 
+	private final HttpServletRequest request;
+
+	private final BackInfoTranslationsService backInfoTranslationsService;
+
 	@Override
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	@Transactional(rollbackFor = Throwable.class)
 	public void insertOrUpdateSkuSpec(ReqGoodsSkuInsert insert, Boolean isUpdate) throws Exception {
 	public void insertOrUpdateSkuSpec(ReqGoodsSkuInsert insert, Boolean isUpdate) throws Exception {
 		GoodsDon goods = goodsDonMapper.selectById(insert.getGoodsId());
 		GoodsDon goods = goodsDonMapper.selectById(insert.getGoodsId());
+		String lang = request.getHeader("lang");
 		if (null == goods) {
 		if (null == goods) {
 			throw new RuntimeException("找不到商品spu.");
 			throw new RuntimeException("找不到商品spu.");
 		}
 		}
@@ -111,7 +116,8 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 					Set<GoodsDonSku> benefitsSkuIds = Jsons.parseSet(benefitsList, GoodsDonSku.class);
 					Set<GoodsDonSku> benefitsSkuIds = Jsons.parseSet(benefitsList, GoodsDonSku.class);
 					e.setBenefitsList(Jsons.toJson(benefitsSkuIds));
 					e.setBenefitsList(Jsons.toJson(benefitsSkuIds));
 				}
 				}
-				syncSpecNodeSku(goods.getId(), dbNodeMap, e);
+
+				syncSpecNodeSku(goods.getId(), dbNodeMap, e, lang);
 
 
 				ReqGoodsSpecSingle single = new ReqGoodsSpecSingle();
 				ReqGoodsSpecSingle single = new ReqGoodsSpecSingle();
 				single.setId(e.getId());
 				single.setId(e.getId());
@@ -132,11 +138,15 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 		spec.setSpecsJson(Jsons.toJson(specs));
 		spec.setSpecsJson(Jsons.toJson(specs));
 		spec.setSpecNumber(specNumber);
 		spec.setSpecNumber(specNumber);
 		spec.setSpecMapping(Jsons.toJson(map));
 		spec.setSpecMapping(Jsons.toJson(map));
-		if (insert.getId() != null) {
-			this.updateById(spec);
-			return;
+		if (!StrUtil.equals(UserPageLanguage.Language.zh_HK.name(), lang)) {
+			backInfoTranslationsService.saveOrUpdateBackInfoTranslations(BackInfoTranslations.Type.spec, spec.getId(), spec, lang);
+		} else {
+			if (insert.getId() != null) {
+				this.updateById(spec);
+				return;
+			}
+			this.save(spec);
 		}
 		}
-		this.save(spec);
 	}
 	}
 
 
 	@Override
 	@Override
@@ -416,7 +426,7 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 	/**
 	/**
 	 * 更新二级分类标题价格等 同步库中sku
 	 * 更新二级分类标题价格等 同步库中sku
 	 */
 	 */
-	public void syncSpecNodeSku(Long goodsId, Map<Integer, ReqGoodsSkuSpec.Node> dbNodeMap, ReqGoodsSkuSpec.Node e) {
+	public void syncSpecNodeSku(Long goodsId, Map<Integer, ReqGoodsSkuSpec.Node> dbNodeMap, ReqGoodsSkuSpec.Node e, String lang) {
 		if (CollUtil.isNotEmpty(dbNodeMap)) {
 		if (CollUtil.isNotEmpty(dbNodeMap)) {
 			ReqGoodsSkuSpec.Node dbNode = dbNodeMap.get(e.getId());
 			ReqGoodsSkuSpec.Node dbNode = dbNodeMap.get(e.getId());
 			if (dbNode == null) {
 			if (dbNode == null) {
@@ -462,7 +472,15 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 									}
 									}
 								}
 								}
 							}
 							}
-							goodsDonSkuMapper.updateById(sku);
+							if (!StrUtil.equals(UserPageLanguage.Language.zh_HK.name(), lang)) {
+								GoodsDonSku specValLanguage = new GoodsDonSku();
+								specValLanguage.setId(sku.getId());
+								specValLanguage.setSpecVal(sku.getSpecVal());
+								specValLanguage.setSpecJson(sku.getSpecJson());
+								backInfoTranslationsService.saveOrUpdateBackInfoTranslations(BackInfoTranslations.Type.spec, specValLanguage.getId(), specValLanguage, lang);
+							} else {
+								goodsDonSkuMapper.updateById(sku);
+							}
 						}
 						}
 					} catch (Exception exception) {
 					} catch (Exception exception) {
 					}
 					}