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 |  199 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 195 insertions(+), 4 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 fdb70b6..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
@@ -2,14 +2,24 @@
 
 import com.alibaba.fastjson.JSONObject;
 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.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * @author wzy
@@ -21,6 +31,17 @@
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
+    @Autowired
+    private ShopProductAttributeDao shopProductAttributeDao;
+    @Autowired
+    private ShopProductDao shopProductDao;
+    @Autowired
+    private ShopSkuDao shopSkuDao;
+    @Autowired
+    private ShopProductImgDao shopProductImgDao;
+
+    @Autowired
+    private RedisClient redisClient;
 
     public <T> List<T> mapsToListBean(List<Map<String, Object>> maps, Class<T> t) {
         List<T> list = new ArrayList<>();
@@ -37,9 +58,179 @@
         return JSONObject.parseObject(s, t);
     }
 
+    private final Long companyId = 37L;
+    private final Long shopId = 53L;
+
     @DS("slave")
     public List<ShopProductAttribute> oldProductAttr() {
-        return null;
+        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("id");
+
+            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("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("善吉凡");
+                subAttr.setCreateTime(new Date());
+                subAttr.setUpdateTime(new Date());
+                subAttr.setShopId(shopId);
+                subAttr.setCompanyId(companyId);
+                child.add(subAttr);
+            }
+
+            ShopProductAttribute attr = new ShopProductAttribute();
+            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("善吉凡");
+            attr.setCreateTime(new Date());
+            attr.setUpdateTime(new Date());
+            attr.setShopId(shopId);
+            attr.setCompanyId(companyId);
+            list.add(attr);
+        }
+        return list;
+    }
+
+    public void productAttr(List<ShopProductAttribute> list) {
+        Map<Integer, Integer> map = new HashMap<>();
+        for (ShopProductAttribute shopProductAttribute : list) {
+            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