Przeglądaj źródła

更新商品同步的spec属性到表里

mac 2 lat temu
rodzic
commit
e24eccbd80

+ 23 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsServiceImpl.java

@@ -13,6 +13,7 @@ import com.kxs.common.core.util.RetOps;
 import com.kxs.product.api.model.KxsShopGoods;
 import com.kxs.product.api.model.KxsShopGoodsPic;
 import com.kxs.product.api.model.KxsShopGoodsSku;
+import com.kxs.product.api.model.KxsShopGoodsSpec;
 import com.kxs.transfer.api.mapper.product.KxsShopGoodsMapper;
 import com.kxs.transfer.api.mapper.product.KxsShopGoodsPicMapper;
 import com.kxs.transfer.api.mapper.product.KxsShopGoodsSkuMapper;
@@ -29,6 +30,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -43,6 +45,7 @@ import java.util.Map;
 public class KxsShopGoodsServiceImpl extends ServiceImpl<KxsShopGoodsMapper, KxsShopGoods> implements KxsShopGoodsService {
 
     private final KxsShopGoodsSkuService kxsShopGoodsSkuService;
+    private final KxsShopGoodsSpecService kxsShopGoodsSpecService;
 
     private final KxsShopGoodsPicService kxsShopGoodsPicService;
 
@@ -206,6 +209,26 @@ public class KxsShopGoodsServiceImpl extends ServiceImpl<KxsShopGoodsMapper, Kxs
                 kxsShopGoodsPicService.save(shopGoodsPic);
             }
         }
+        if(StrUtil.isNotBlank(goods.getSpecList())){
+            kxsShopGoodsSpecService.remove(Wrappers.<KxsShopGoodsSpec>lambdaQuery().eq(KxsShopGoodsSpec::getGoodsId, goods.getId()));
+
+            JSONArray goodsSpecs = JSON.parseArray(goods.getSpecList());
+            for (Object goodsSpec : goodsSpecs) {
+                KxsShopGoodsSpec kxsShopGoodsSpec = new KxsShopGoodsSpec();
+                kxsShopGoodsSpec.setGoodsId(goods.getId());
+                JSONObject jsonObject = JSON.parseObject(goodsSpec.toString());
+                kxsShopGoodsSpec.setSpecification(jsonObject.getString("name"));
+
+                JSONArray vallist = jsonObject.getJSONArray("vallist");
+                JSONArray skus = new JSONArray();
+                for (Object val : vallist) {
+                    JSONObject valSku = JSON.parseObject(val.toString());
+                    skus.add(valSku.getString("name"));
+                }
+                kxsShopGoodsSpec.setValue(skus.toJSONString());
+                kxsShopGoodsSpecService.save(kxsShopGoodsSpec);
+            }
+        }
         //获取sku列表
         FieldData fieldData = fieldDataMap.get("NormJson");
         if(fieldData.getValue() != null && StrUtil.isNotBlank(fieldData.getValue().toString()) && fieldData.getValue().toString().contains("#cut#") ){