From 4705f9b4084d9ccddb601569b223f0fb41778a94 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 12 Aug 2021 15:28:46 +0800
Subject: [PATCH] fix

---
 zq-erp/src/main/java/com/matrix/system/dataMove/SjfDataMoveServiceImpl.java |  151 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 140 insertions(+), 11 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/dataMove/SjfDataMoveServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/dataMove/SjfDataMoveServiceImpl.java
index ea66b66..47245c3 100644
--- a/zq-erp/src/main/java/com/matrix/system/dataMove/SjfDataMoveServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/dataMove/SjfDataMoveServiceImpl.java
@@ -4,12 +4,21 @@
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.matrix.component.redis.RedisClient;
 import com.matrix.core.tools.StringUtils;
+import com.matrix.system.shopXcx.bean.ShopProduct;
 import com.matrix.system.shopXcx.bean.ShopProductAttribute;
+import com.matrix.system.shopXcx.bean.ShopProductImg;
+import com.matrix.system.shopXcx.bean.ShopSku;
 import com.matrix.system.shopXcx.dao.ShopProductAttributeDao;
+import com.matrix.system.shopXcx.dao.ShopProductDao;
+import com.matrix.system.shopXcx.dao.ShopProductImgDao;
+import com.matrix.system.shopXcx.dao.ShopSkuDao;
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -24,6 +33,12 @@
 
     @Autowired
     private ShopProductAttributeDao shopProductAttributeDao;
+    @Autowired
+    private ShopProductDao shopProductDao;
+    @Autowired
+    private ShopSkuDao shopSkuDao;
+    @Autowired
+    private ShopProductImgDao shopProductImgDao;
 
     @Autowired
     private RedisClient redisClient;
@@ -48,21 +63,23 @@
 
     @DS("slave")
     public List<ShopProductAttribute> oldProductAttr() {
-        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from cere_product_classify where classify_pid=0");
+        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from eb_store_category where is_show=1 and pid=0");
 
         List<ShopProductAttribute> list = new ArrayList<>();
         for (Map<String, Object> map : maps) {
-            Object classifyId = map.get("classify_id");
+            Object classifyId = map.get("id");
 
-            List<Map<String, Object>> subMaps = jdbcTemplate.queryForList("select * from cere_product_classify where classify_pid=" + classifyId.toString());
+            List<Map<String, Object>> subMaps = jdbcTemplate.queryForList("select * from eb_store_category where pid=" + classifyId.toString());
 
+            List<ShopProductAttribute> child = new ArrayList<>();
             for (Map<String, Object> subMap : subMaps) {
                 ShopProductAttribute subAttr = new ShopProductAttribute();
-                subAttr.setAttrId((int) Long.parseLong(subMap.get("classify_id").toString()));
-                subAttr.setParentId(Integer.parseInt(subMap.get("classify_pid").toString()));
-                String subName = subMap.get("classify_name").toString();
+                subAttr.setAttrId((int) Long.parseLong(subMap.get("id").toString()));
+                subAttr.setParentId(Integer.parseInt(subMap.get("pid").toString()));
+                String subName = subMap.get("cate_name").toString();
                 subAttr.setAttrName(subName);
                 subAttr.setAttrCode(StringUtils.toHanyuPinyin(subName));
+                subAttr.setAttrUrl(map.get("pic").toString());
 
                 subAttr.setCreateBy("善吉凡");
                 subAttr.setUpdateBy("善吉凡");
@@ -70,15 +87,17 @@
                 subAttr.setUpdateTime(new Date());
                 subAttr.setShopId(shopId);
                 subAttr.setCompanyId(companyId);
-                list.add(subAttr);
+                child.add(subAttr);
             }
 
             ShopProductAttribute attr = new ShopProductAttribute();
-            attr.setAttrId((int) Long.parseLong(map.get("classify_id").toString()));
-            attr.setParentId(Integer.parseInt(map.get("classify_pid").toString()));
-            String name = map.get("classify_name").toString();
+            attr.setAttrId((int) Long.parseLong(map.get("id").toString()));
+            attr.setParentId(198);
+            attr.setAttrUrl(map.get("pic").toString());
+            String name = map.get("cate_name").toString();
             attr.setAttrName(name);
             attr.setAttrCode(StringUtils.toHanyuPinyin(name));
+            attr.setChild(child);
 
             attr.setCreateBy("善吉凡");
             attr.setUpdateBy("善吉凡");
@@ -87,7 +106,6 @@
             attr.setShopId(shopId);
             attr.setCompanyId(companyId);
             list.add(attr);
-
         }
         return list;
     }
@@ -98,10 +116,121 @@
             Integer oldId = shopProductAttribute.getAttrId();
             shopProductAttribute.setAttrId(null);
             shopProductAttributeDao.insert(shopProductAttribute);
+
+            for (ShopProductAttribute productAttribute : shopProductAttribute.getChild()) {
+                Integer oldChildId = productAttribute.getAttrId();
+                productAttribute.setAttrId(null);
+                productAttribute.setParentId(shopProductAttribute.getAttrId());
+                shopProductAttributeDao.insert(productAttribute);
+                map.put(oldChildId, productAttribute.getAttrId());
+            }
             map.put(oldId, shopProductAttribute.getAttrId());
         }
 
         redisClient.saveMapValue("attrIds", map);
     }
 
+    @DS("slave")
+    public List<ShopProduct> oldProduct() {
+        List<Map<String, Object>> products = jdbcTemplate.queryForList("select * from eb_store_product where is_show=1 and is_del=0");
+
+        List<ShopProduct> result = new ArrayList<>();
+        for (Map<String, Object> product : products) {
+            ShopProduct shopProduct = new ShopProduct();
+            shopProduct.setCategoryId(Integer.parseInt(product.get("cate_id").toString()));
+            shopProduct.setTitle(product.get("store_name").toString());
+            shopProduct.setBriefIntroduction(product.get("store_info").toString());
+            shopProduct.setImgMobile(product.get("image").toString());
+            shopProduct.setPrice(Double.parseDouble(product.get("price").toString()));
+            shopProduct.setMarkedPrice(Double.parseDouble(product.get("ot_price").toString()));
+            shopProduct.setRsVolume(Integer.parseInt(product.get("sales").toString()));
+            shopProduct.setDsVolume(Integer.parseInt(product.get("ficti").toString()));
+
+            String imagesStr = product.get("slider_image").toString();
+            List<String> images = JSONObject.parseArray(imagesStr, String.class);
+            int i = 1;
+            List<ShopProductImg> imgs = new ArrayList<>();
+            for (String image : images) {
+                ShopProductImg shopProductImg = new ShopProductImg();
+                shopProductImg.setImgPath(image);
+                shopProductImg.setSort(i);
+                shopProductImg.setCreateBy("善吉凡");
+                shopProductImg.setUpdateBy("善吉凡");
+                shopProductImg.setCreateTime(new Date());
+                shopProductImg.setUpdateTime(new Date());
+                i++;
+
+                imgs.add(shopProductImg);
+            }
+            shopProduct.setProductImgs(imgs);
+
+            // 商品属性 即sku
+            Map<String, Object> attrValue = jdbcTemplate.queryForMap("select * from eb_store_product_attr_value where product_id=" + product.get("id"));
+            ShopSku shopSku = new ShopSku();
+            shopSku.setName(product.get("store_name").toString());
+            shopSku.setStock(Integer.parseInt(attrValue.get("stock").toString()));
+            shopSku.setImgPath(attrValue.get("image").toString());
+            shopSku.setPrice(new BigDecimal(attrValue.get("price").toString()));
+            shopSku.setCreateBy("善吉凡");
+            shopSku.setUpdateBy("善吉凡");
+            shopSku.setCreateTime(new Date());
+            shopSku.setUpdateTime(new Date());
+            shopSku.setScore(0);
+            shopSku.setSort(0);
+            shopSku.setSealCount(Integer.parseInt(product.get("ficti").toString()));
+            List<ShopSku> skus = new ArrayList<>();
+            skus.add(shopSku);
+            shopProduct.setSkus(skus);
+
+            Map<String, Object> desc = jdbcTemplate.queryForMap("select * from eb_store_product_description where product_id=" + product.get("id"));
+            shopProduct.setMobileDetails(desc.get("description").toString());
+
+
+            shopProduct.setDelFlag(2);
+            shopProduct.setShopIds(shopId.toString());
+            shopProduct.setCompanyId(companyId);
+            shopProduct.setAbleSales(1);
+            shopProduct.setAbleScorePay(2);
+            shopProduct.setStatus(1);
+            shopProduct.setCreateBy("善吉凡");
+            shopProduct.setUpdateBy("善吉凡");
+            shopProduct.setCreateTime(new Date());
+            shopProduct.setUpdateTime(new Date());
+            result.add(shopProduct);
+        }
+        return result;
+    }
+
+    @Transactional
+    public void newShopProduct(List<ShopProduct> list) {
+        String sysUsersIds = redisClient.getCachedValue("attrIds");
+        Map attrIds = JSONObject.parseObject(sysUsersIds, Map.class);
+
+
+        for (ShopProduct shopProduct : list) {
+            Object o = attrIds.get(shopProduct.getCategoryId().toString());
+            shopProduct.setCategoryId(Integer.parseInt(o.toString()));
+
+            shopProduct.setAttrValues("");
+            shopProduct.setScoreCategoryId(202L);
+            shopProduct.setId(null);
+            String s = StringEscapeUtils.unescapeHtml4(shopProduct.getMobileDetails());
+            shopProduct.setMobileDetails(s);
+
+            shopProductDao.insert(shopProduct);
+
+            for (ShopProductImg productImg : shopProduct.getProductImgs()) {
+                productImg.setPId(shopProduct.getId());
+
+                shopProductImgDao.insert(productImg);
+            }
+
+            for (ShopSku skus : shopProduct.getSkus()) {
+                skus.setPId(shopProduct.getId());
+
+                shopSkuDao.insert(skus);
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.1