Przeglądaj źródła

商品信息同步

mac 2 lat temu
rodzic
commit
8de916f2c8

+ 135 - 69
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsServiceImpl.java

@@ -62,77 +62,143 @@ public class KxsShopGoodsServiceImpl extends ServiceImpl<KxsShopGoodsMapper, Kxs
 
         List<KxsShopGoodsPic> picList = new ArrayList<>();
 
-        for (String field : changeFieldList) {
-
-            switch (field) {
-                case "ProductKind":
-                    int kind = Integer.parseInt(validFieldDataMap.get(field).toString());
-                    if(kind == 1){
-                        goods.setGoodsType(0);
-                    }else{
-                        goods.setGoodsType(1);
-                    }
-                    break;
-                case "Sort":
-                    goods.setSort(Integer.parseInt(validFieldDataMap.get(field).toString()));
-                    break;
-                case "ListPicPath":
-                    String pics = validFieldDataMap.get(field).toString();
-                    if(StrUtil.isNotBlank(pics)){
-                        String[] imgs = pics.split(",");
-                        //封面图
-                        goods.setPicUrl(imgs[0]);
-                        //同步商品图片表
-                        for (String img : imgs) {
-                            KxsShopGoodsPic shopGoodsPic = new KxsShopGoodsPic();
-                            shopGoodsPic.setUrl(img);
-                            shopGoodsPic.setGoodsId(id);
-                            picList.add(shopGoodsPic);
-                        }
-                    }
-                    break;
-                case "Status":
-                    goods.setStatus(Integer.valueOf(validFieldDataMap.get(field).toString()));
-                    break;
-                case "ProductName":
-                    goods.setGoodsName(validFieldDataMap.get(field).toString());
-                    break;
-                case "Details":
-                    goods.setSubtitle(validFieldDataMap.get(field).toString());
-                    break;
-                case "NormJson":
-                    String value = validFieldDataMap.get(field).toString();
-                    if(StrUtil.isNotBlank(value) && value.contains("#cut#")){
-                        String sku = value.substring(0, value.indexOf("#cut#"));
-                        goods.setSpecList(sku);
-                    }
-                    break;
-                case "Contents":
-                    goods.setDetails(validFieldDataMap.get(field).toString());
-                    break;
-                case "ColId":
-                    goods.setColId(validFieldDataMap.get(field).toString());
-                    break;
-                case "Price":
-                    goods.setPrice(new BigDecimal(validFieldDataMap.get(field).toString()));
-                    break;
-                case "LimitCount":
-                    goods.setLimitCount(Integer.valueOf(validFieldDataMap.get(field).toString()));
-                    break;
-                case "StartBuyCount":
-                    goods.setStartByCount(Integer.valueOf(validFieldDataMap.get(field).toString()));
-                    break;
-                case "PublishDate":
-                    goods.setUpTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
-                    break;
-                case "CreateDate":
-                    goods.setCreateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
-                    break;
-                case "UpdateDate":
-                    goods.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
-                    break;
+        if(fieldDataMap.get("ProductKind").getValue() != null){
+            int kind = Integer.parseInt(fieldDataMap.get("ProductKind").getValue().toString());
+            if(kind == 1){
+                goods.setGoodsType(0);
+            }else{
+                goods.setGoodsType(1);
+            }
+        }
+        if(fieldDataMap.get("Sort").getValue() != null){
+            goods.setSort(Integer.valueOf(fieldDataMap.get("Sort").getValue().toString()));
+        }
+        if(fieldDataMap.get("ListPicPath").getValue() != null){
+            String pics = fieldDataMap.get("ListPicPath").getValue().toString();
+            if(StrUtil.isNotBlank(pics)){
+                String[] imgs = pics.split(",");
+                //封面图
+                goods.setPicUrl(imgs[0]);
+                //同步商品图片表
+                for (String img : imgs) {
+                    KxsShopGoodsPic shopGoodsPic = new KxsShopGoodsPic();
+                    shopGoodsPic.setUrl(img);
+                    shopGoodsPic.setGoodsId(id);
+                    picList.add(shopGoodsPic);
+                }
+            }
+        }
+        if(fieldDataMap.get("Status").getValue() != null){
+            goods.setStatus(Integer.valueOf(fieldDataMap.get("Status").getValue().toString()));
+        }
+        if(fieldDataMap.get("ProductName").getValue() != null){
+            goods.setGoodsName(fieldDataMap.get("ProductName").getValue().toString());
+        }
+        if(fieldDataMap.get("Details").getValue() != null){
+            goods.setSubtitle(fieldDataMap.get("Details").getValue().toString());
+        }
+        if(fieldDataMap.get("NormJson").getValue() != null){
+            String value = fieldDataMap.get("NormJson").toString();
+            if(StrUtil.isNotBlank(value) && value.contains("#cut#")){
+                String sku = value.substring(0, value.indexOf("#cut#"));
+                goods.setSpecList(sku);
             }
         }
+        if(fieldDataMap.get("Contents").getValue() != null){
+            goods.setDetails(fieldDataMap.get("Contents").getValue().toString());
+        }
+        if(fieldDataMap.get("ColId").getValue() != null){
+            goods.setColId(fieldDataMap.get("ColId").getValue().toString());
+        }
+        if(fieldDataMap.get("Price").getValue() != null){
+            goods.setPrice(new BigDecimal(fieldDataMap.get("Price").getValue().toString()));
+        }
+        if(fieldDataMap.get("LimitCount").getValue() != null){
+            goods.setLimitCount(Integer.valueOf(fieldDataMap.get("LimitCount").getValue().toString()));
+        }
+        if(fieldDataMap.get("StartBuyCount").getValue() != null){
+            goods.setLimitCount(Integer.valueOf(fieldDataMap.get("StartBuyCount").getValue().toString()));
+        }
+        if(fieldDataMap.get("PublishDate").getValue() != null){
+            goods.setUpTime(LocalDateTimeUtil.parse(fieldDataMap.get("PublishDate").toString(), DatePattern.NORM_DATETIME_PATTERN));
+        }
+        if(fieldDataMap.get("CreateDate").getValue() != null){
+            goods.setUpTime(LocalDateTimeUtil.parse(fieldDataMap.get("CreateDate").toString(), DatePattern.NORM_DATETIME_PATTERN));
+        }
+        if(fieldDataMap.get("UpdateDate").getValue() != null){
+            goods.setUpTime(LocalDateTimeUtil.parse(fieldDataMap.get("UpdateDate").toString(), DatePattern.NORM_DATETIME_PATTERN));
+        }
+//        for (String field : changeFieldList) {
+//
+//            switch (field) {
+//                case "ProductKind":
+//                    int kind = Integer.parseInt(fieldDataMap.get(field).getValue().toString());
+//                    if(kind == 1){
+//                        goods.setGoodsType(0);
+//                    }else{
+//                        goods.setGoodsType(1);
+//                    }
+//                    break;
+//                case "Sort":
+//                    goods.setSort(Integer.parseInt(fieldDataMap.get(field).getValue().toString()));
+//                    break;
+//                case "ListPicPath":
+//                    String pics = fieldDataMap.get(field).getValue().toString();
+//                    if(StrUtil.isNotBlank(pics)){
+//                        String[] imgs = pics.split(",");
+//                        //封面图
+//                        goods.setPicUrl(imgs[0]);
+//                        //同步商品图片表
+//                        for (String img : imgs) {
+//                            KxsShopGoodsPic shopGoodsPic = new KxsShopGoodsPic();
+//                            shopGoodsPic.setUrl(img);
+//                            shopGoodsPic.setGoodsId(id);
+//                            picList.add(shopGoodsPic);
+//                        }
+//                    }
+//                    break;
+//                case "Status":
+//                    goods.setStatus(Integer.valueOf(validFieldDataMap.get(field).toString()));
+//                    break;
+//                case "ProductName":
+//                    goods.setGoodsName(fieldDataMap.get(field).getValue().toString());
+//                    break;
+//                case "Details":
+//                    goods.setSubtitle(fieldDataMap.get(field).getValue().toString());
+//                    break;
+//                case "NormJson":
+//                    String value = validFieldDataMap.get(field).toString();
+//                    if(StrUtil.isNotBlank(value) && value.contains("#cut#")){
+//                        String sku = value.substring(0, value.indexOf("#cut#"));
+//                        goods.setSpecList(sku);
+//                    }
+//                    break;
+//                case "Contents":
+//                    goods.setDetails(fieldDataMap.get(field).getValue().toString());
+//                    break;
+//                case "ColId":
+//                    goods.setColId(fieldDataMap.get(field).getValue().toString());
+//                    break;
+//                case "Price":
+//                    goods.setPrice(new BigDecimal(fieldDataMap.get(field).getValue().toString()));
+//                    break;
+//                case "LimitCount":
+//                    goods.setLimitCount(Integer.valueOf(fieldDataMap.get(field).getValue().toString()));
+//                    break;
+//                case "StartBuyCount":
+//                    goods.setStartByCount(Integer.valueOf(fieldDataMap.get(field).getValue().toString()));
+//                    break;
+//                case "PublishDate":
+//                    goods.setUpTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+//                    break;
+//                case "CreateDate":
+//                    goods.setCreateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+//                    break;
+//                case "UpdateDate":
+//                    goods.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+//                    break;
+//            }
+//        }
         //商品图片
         if(!picList.isEmpty()){
             kxsShopGoodsPicService.remove(Wrappers.<KxsShopGoodsPic>lambdaQuery().eq(KxsShopGoodsPic::getGoodsId, goods.getId()));