Sfoglia il codice sorgente

商品信息表同步

mac 2 anni fa
parent
commit
757ff41dff
20 ha cambiato i file con 464 aggiunte e 11 eliminazioni
  1. 7 0
      kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/model/KxsShopCate.java
  2. 13 1
      kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/model/KxsShopGoods.java
  3. 1 0
      kxs-product/kxs-product-biz/src/main/resources/mapper/KxsShopCateMapper.xml
  4. 2 1
      kxs-product/kxs-product-biz/src/main/resources/mapper/KxsShopGoodsMapper.xml
  5. 12 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/controller/DtsController.java
  6. 22 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsMapper.java
  7. 17 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsPicMapper.java
  8. 21 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsSkuMapper.java
  9. 21 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsSpecMapper.java
  10. 15 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsPicService.java
  11. 22 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsService.java
  12. 15 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsSkuService.java
  13. 15 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsSpecService.java
  14. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsPicServiceImpl.java
  15. 206 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsServiceImpl.java
  16. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsSkuServiceImpl.java
  17. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsSpecServiceImpl.java
  18. 0 6
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/impl/KxsUserServiceImpl.java
  19. 16 1
      kxs-transfer/src/main/resources/import.txt
  20. 2 2
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsUserAdvance.java

+ 7 - 0
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/model/KxsShopCate.java

@@ -116,6 +116,13 @@ public class KxsShopCate extends Model<KxsShopCate> implements Serializable {
     private Integer isShow;
 
 
+    /**
+     * 分类ID
+     */
+    @Schema(description = "分类ID")
+    private String colId;
+
+
 
 
 }

+ 13 - 1
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/model/KxsShopGoods.java

@@ -101,6 +101,12 @@ public class KxsShopGoods extends Model<KxsShopGoods> implements Serializable {
     @Schema(description = "详情")
     private String details;
 
+    /**
+     * sku属性详情
+     */
+    @Schema(description = "sku属性详情")
+    private String specList;
+
 
     /**
      * 状态 0下架 1上架
@@ -113,7 +119,7 @@ public class KxsShopGoods extends Model<KxsShopGoods> implements Serializable {
      * 分类ID
      */
     @Schema(description = "分类ID")
-    private Integer colId;
+    private String colId;
 
 
     /**
@@ -129,6 +135,12 @@ public class KxsShopGoods extends Model<KxsShopGoods> implements Serializable {
     @Schema(description = "起购数量")
     private Integer startByCount;
 
+    /**
+     * 排序
+     */
+    @Schema(description = "排序")
+    private Integer sort;
+
 
     /**
      * 商品类型 0实物商品 1虚拟物品

+ 1 - 0
kxs-product/kxs-product-biz/src/main/resources/mapper/KxsShopCateMapper.xml

@@ -15,6 +15,7 @@
         <result column="status" property="status" />
         <result column="sort" property="sort" />
         <result column="is_show" property="isShow" />
+        <result column="col_id" property="colId" />
 
     </resultMap>
     <select id="getByList" resultType="com.kxs.product.api.vo.kxsapp.shop.ShopCategoriesVO">

+ 2 - 1
kxs-product/kxs-product-biz/src/main/resources/mapper/KxsShopGoodsMapper.xml

@@ -20,6 +20,7 @@
         <result column="goods_type" property="goodsType" />
         <result column="up_time" property="upTime" />
         <result column="down_time" property="downTime" />
+        <result column="sku_json" property="skuJson" />
 
     </resultMap>
 
@@ -29,7 +30,7 @@
             a.del_flag = 0
             and a.status = 1
             <if test="colId != null">
-                a.col_id = #{colId}
+                a.col_id like concat('%' #{colId} '%')
             </if>
         </where>
     </select>

+ 12 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/controller/DtsController.java

@@ -9,6 +9,7 @@ import com.kxs.transfer.api.model.KxsDtsLog;
 import com.kxs.transfer.api.model.table.DMLData;
 import com.kxs.transfer.api.service.KxsDtsErrorLogService;
 import com.kxs.transfer.api.service.KxsDtsLogService;
+import com.kxs.transfer.api.service.product.KxsShopGoodsService;
 import com.kxs.transfer.api.service.user.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -45,6 +46,9 @@ public class DtsController {
     private final KxsLeaderService kxsLeaderService;
     private final KxsLeaderAmountLogService kxsLeaderAmountLogService;
 
+    //产品模块
+    private final KxsShopGoodsService kxsShopGoodsService;
+
     @DtsMsgListener
     public void dtsListener(Long dataId, DMLData dmlData, DefaultUserRecord record) {
 
@@ -118,6 +122,14 @@ public class DtsController {
                 kxsLeaderAmountLogService.changeData(dmlData);
             }
 
+
+            //商品表同步
+            if ("Products".equals(dmlData.getTableName()) ) {
+                kxsShopGoodsService.changeData(dmlData);
+            }
+
+
+
             //存储历史数据
             KxsDtsLog kxsDtsLog = new KxsDtsLog();
             kxsDtsLog.setDataId(dataId);

+ 22 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsMapper.java

@@ -0,0 +1,22 @@
+package com.kxs.transfer.api.mapper.product;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kxs.product.api.model.KxsShopGoods;
+import com.kxs.product.api.vo.kxsapp.shop.ShopGoodsListVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 商城商品表(KxsShopGoods)表数据库访问层
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:35
+ */
+@Mapper
+public interface KxsShopGoodsMapper extends BaseMapper<KxsShopGoods> {
+
+
+}
+

+ 17 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsPicMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.transfer.api.mapper.product;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.product.api.model.KxsShopGoodsPic;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 商城商品图片表(KxsShopGoodsPic)表数据库访问层
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+@Mapper
+public interface KxsShopGoodsPicMapper extends BaseMapper<KxsShopGoodsPic> {
+
+}
+

+ 21 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsSkuMapper.java

@@ -0,0 +1,21 @@
+package com.kxs.transfer.api.mapper.product;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.product.api.model.KxsShopGoodsSku;
+import com.kxs.product.api.vo.kxsapp.shop.ShopGoodsSkuVO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 商城商品SKU表(KxsShopGoodsSku)表数据库访问层
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+@Mapper
+public interface KxsShopGoodsSkuMapper extends BaseMapper<KxsShopGoodsSku> {
+
+
+}
+

+ 21 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/product/KxsShopGoodsSpecMapper.java

@@ -0,0 +1,21 @@
+package com.kxs.transfer.api.mapper.product;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.product.api.model.KxsShopGoodsSpec;
+import com.kxs.product.api.vo.kxsapp.shop.ShopGoodsSpecVO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 商城商品SKU记录表(KxsShopGoodsSpec)表数据库访问层
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+@Mapper
+public interface KxsShopGoodsSpecMapper extends BaseMapper<KxsShopGoodsSpec> {
+
+
+}
+

+ 15 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsPicService.java

@@ -0,0 +1,15 @@
+package com.kxs.transfer.api.service.product;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.product.api.model.KxsShopGoodsPic;
+
+/**
+ * 商城商品图片表(KxsShopGoodsPic)表服务接口
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+public interface KxsShopGoodsPicService extends IService<KxsShopGoodsPic> {
+
+}
+

+ 22 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsService.java

@@ -0,0 +1,22 @@
+package com.kxs.transfer.api.service.product;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.product.api.model.KxsShopGoods;
+import com.kxs.product.api.vo.kxsapp.shop.ShopGoodsDetailVO;
+import com.kxs.product.api.vo.kxsapp.shop.ShopGoodsListVO;
+import com.kxs.transfer.api.model.table.DMLData;
+
+/**
+ * 商城商品表(KxsShopGoods)表服务接口
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:35
+ */
+public interface KxsShopGoodsService extends IService<KxsShopGoods> {
+
+
+    void changeData(DMLData dmlData);
+}
+

+ 15 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsSkuService.java

@@ -0,0 +1,15 @@
+package com.kxs.transfer.api.service.product;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.product.api.model.KxsShopGoodsSku;
+
+/**
+ * 商城商品SKU表(KxsShopGoodsSku)表服务接口
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+public interface KxsShopGoodsSkuService extends IService<KxsShopGoodsSku> {
+
+}
+

+ 15 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/KxsShopGoodsSpecService.java

@@ -0,0 +1,15 @@
+package com.kxs.transfer.api.service.product;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.product.api.model.KxsShopGoodsSpec;
+
+/**
+ * 商城商品SKU记录表(KxsShopGoodsSpec)表服务接口
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+public interface KxsShopGoodsSpecService extends IService<KxsShopGoodsSpec> {
+
+}
+

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsPicServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.service.product.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.product.api.model.KxsShopGoodsPic;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsPicMapper;
+import com.kxs.transfer.api.service.product.KxsShopGoodsPicService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商城商品图片表(KxsShopGoodsPic)表服务实现类
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+@Service("kxsShopGoodsPicService")
+public class KxsShopGoodsPicServiceImpl extends ServiceImpl<KxsShopGoodsPicMapper, KxsShopGoodsPic> implements KxsShopGoodsPicService {
+
+}
+

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

@@ -0,0 +1,206 @@
+package com.kxs.transfer.api.service.product.impl;
+
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.aliyun.dts.subscribe.clients.record.OperationType;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.product.api.model.KxsShopGoods;
+import com.kxs.product.api.model.KxsShopGoodsPic;
+import com.kxs.product.api.model.KxsShopGoodsSku;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsMapper;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsPicMapper;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsSkuMapper;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsSpecMapper;
+import com.kxs.transfer.api.model.table.DMLData;
+import com.kxs.transfer.api.model.table.FieldData;
+import com.kxs.transfer.api.service.product.KxsShopGoodsPicService;
+import com.kxs.transfer.api.service.product.KxsShopGoodsService;
+import com.kxs.transfer.api.service.product.KxsShopGoodsSkuService;
+import com.kxs.transfer.api.service.product.KxsShopGoodsSpecService;
+import com.kxs.user.api.model.KxsLeaderAmountLog;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商城商品表(KxsShopGoods)表服务实现类
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:35
+ */
+@Service("kxsShopGoodsService")
+@RequiredArgsConstructor
+public class KxsShopGoodsServiceImpl extends ServiceImpl<KxsShopGoodsMapper, KxsShopGoods> implements KxsShopGoodsService {
+
+    private final KxsShopGoodsSkuService kxsShopGoodsSkuService;
+
+    private final KxsShopGoodsPicService kxsShopGoodsPicService;
+
+    @Override
+    public void changeData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //全部字段值
+        Map<String, FieldData> fieldDataMap = dmlData.getFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsShopGoods goods = new KxsShopGoods();
+        goods.setId(id);
+
+        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(!picList.isEmpty()){
+            kxsShopGoodsPicService.remove(Wrappers.<KxsShopGoodsPic>lambdaQuery().eq(KxsShopGoodsPic::getGoodsId, goods.getId()));
+            kxsShopGoodsPicService.saveBatch(picList);
+        }
+        //获取sku列表
+        FieldData fieldData = fieldDataMap.get("NormJson");
+        String value = fieldData.getValue().toString();
+        if(StrUtil.isNotBlank(value) && value.contains("#cut#")){
+            List<KxsShopGoodsSku> specs = new ArrayList<>();
+
+            String goodsSku = value.substring(value.indexOf("#cut#") + 5);
+            JSONArray goodsSkus = JSON.parseArray(goodsSku);
+            for (Object sku : goodsSkus) {
+                JSONObject jsonObject = JSON.parseObject(sku.toString());
+                KxsShopGoodsSku kxsShopGoodsSku = new KxsShopGoodsSku();
+                kxsShopGoodsSku.setGoodId(id);
+                kxsShopGoodsSku.setPrice(jsonObject.getBigDecimal("price"));
+                kxsShopGoodsSku.setLimitCount(jsonObject.getInteger("limitcount"));
+                kxsShopGoodsSku.setStartByCount(jsonObject.getInteger("startbuycount"));
+                kxsShopGoodsSku.setStockNum(jsonObject.getInteger("stock"));
+
+                String specStr = jsonObject.getString("title");
+                List<String> specifications = new ArrayList<>();
+                for (Object spec : JSON.parseArray(specStr)) {
+                    JSONObject specObj = JSON.parseObject(spec.toString());
+                    specifications.add(specObj.getString("name"));
+                }
+                kxsShopGoodsSku.setSpecifications(JSON.toJSONString(specifications));
+                specs.add(kxsShopGoodsSku);
+            }
+            for (KxsShopGoodsSku spec : specs) {
+                KxsShopGoodsSku skuServiceOne = kxsShopGoodsSkuService.getOne(Wrappers.<KxsShopGoodsSku>lambdaQuery()
+                        .eq(KxsShopGoodsSku::getGoodId, id)
+                        .eq(KxsShopGoodsSku::getSpecifications, spec.getSpecifications()));
+
+                if(skuServiceOne == null){
+                    kxsShopGoodsSkuService.save(spec);
+                }else{
+                    spec.setId(skuServiceOne.getId());
+                    kxsShopGoodsSkuService.updateById(spec);
+                }
+            }
+
+        }else{
+            //添加默认规格
+            KxsShopGoodsSku kxsShopGoodsSku = new KxsShopGoodsSku();
+            kxsShopGoodsSku.setGoodId(id);
+            kxsShopGoodsSku.setPrice(new BigDecimal(fieldDataMap.get("Price").getValue().toString()));
+            kxsShopGoodsSku.setLimitCount(Integer.valueOf(fieldDataMap.get("LimitCount").getValue().toString()));
+            kxsShopGoodsSku.setStartByCount(Integer.valueOf(fieldDataMap.get("StartBuyCount").getValue().toString()));
+            kxsShopGoodsSku.setStockNum(Integer.valueOf(fieldDataMap.get("Stock").getValue().toString()));
+            kxsShopGoodsSku.setSpecifications("[\"默认\"]");
+            KxsShopGoodsSku skuServiceOne = kxsShopGoodsSkuService.getOne(Wrappers.<KxsShopGoodsSku>lambdaQuery()
+                    .eq(KxsShopGoodsSku::getGoodId, id)
+                    .eq(KxsShopGoodsSku::getSpecifications, kxsShopGoodsSku.getSpecifications()));
+            if(skuServiceOne == null){
+                kxsShopGoodsSkuService.save(kxsShopGoodsSku);
+            }else{
+                kxsShopGoodsSku.setId(skuServiceOne.getId());
+                kxsShopGoodsSkuService.updateById(kxsShopGoodsSku);
+            }
+        }
+        KxsShopGoods kxsShopGoods = baseMapper.selectById(goods.getId());
+        if(kxsShopGoods == null){
+            baseMapper.insert(goods);
+        }else{
+            baseMapper.updateById(goods);
+        }
+    }
+}
+

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsSkuServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.service.product.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.product.api.model.KxsShopGoodsSku;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsSkuMapper;
+import com.kxs.transfer.api.service.product.KxsShopGoodsSkuService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商城商品SKU表(KxsShopGoodsSku)表服务实现类
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+@Service("kxsShopGoodsSkuService")
+public class KxsShopGoodsSkuServiceImpl extends ServiceImpl<KxsShopGoodsSkuMapper, KxsShopGoodsSku> implements KxsShopGoodsSkuService {
+
+}
+

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/product/impl/KxsShopGoodsSpecServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.service.product.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.product.api.model.KxsShopGoodsSpec;
+import com.kxs.transfer.api.mapper.product.KxsShopGoodsSpecMapper;
+import com.kxs.transfer.api.service.product.KxsShopGoodsSpecService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商城商品SKU记录表(KxsShopGoodsSpec)表服务实现类
+ *
+ * @author 系统
+ * @since 2023-12-20 10:09:36
+ */
+@Service("kxsShopGoodsSpecService")
+public class KxsShopGoodsSpecServiceImpl extends ServiceImpl<KxsShopGoodsSpecMapper, KxsShopGoodsSpec> implements KxsShopGoodsSpecService {
+
+}
+

+ 0 - 6
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/impl/KxsUserServiceImpl.java

@@ -53,12 +53,6 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
 
     private final KxsUserBankMapper kxsUserBankMapper;
 
-    private final KxsUserAmountMapper userAmountMapper;
-
-    private final RemoteKxsStoreService remoteKxsStoreService;
-
-    private final RemoteUserMsgService remoteUserMsgService;
-
     private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();
 
     @Override

+ 16 - 1
kxs-transfer/src/main/resources/import.txt

@@ -66,4 +66,19 @@ FROM Leaders
 SELECT Id as id, UserId as user_id,CreateDate as create_time, UpdateDate as update_time,
 Sort as variation_type, ChangeAmt as amount, BeforeAmt as before_amount, AfterAmt as after_amount, Remark as remark, SeoDescription as variation_cause,
 SourceUserId as source_user_id, OrderId as order_id, CASE ChangeType WHEN 1 THEN 'add' WHEN 2 THEN 'sub' END kind
-FROM LeaderReserveRecord
+FROM LeaderReserveRecord
+
+//商品相关
+SELECT Id as id, CreateDate as create_time, UpdateDate as update_time,
+CASE ProductKind WHEN 1 THEN 0 ELSE 1 END goods_type, ListPicPath as pic_url, Sort as sort, Status as status, SUBSTRING_INDEX(NormJson, '#cut#', 1) as spec_list,
+ProductName as goods_name, Details as subtitle, Contents as details, ColId as col_id, Price as price, PublishDate as up_time, LimitCount as limit_count, StartBuyCount as start_by_count
+FROM Products
+-- 商品图片
+SELECT Id as id, CreateDate as create_time, UpdateDate as update_time,
+ListPicPath as url, Id as goods_id
+FROM Products
+
+-- 商品SKU
+SELECT a.Id as id, a.CreateDate as create_time, a.UpdateDate as update_time, a.ProductId as goods_id, b.NormJson as specifications,
+a.Price as price, a.Stock as stock_num, a.BuyCount as sales, a.LimitCount as limit_count, a.StartBuyCount as start_by_count
+FROM ProductNorm a left join Products b on a.ProductId = b.id

+ 2 - 2
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsUserAdvance.java

@@ -102,9 +102,9 @@ public class KxsUserAdvance extends Model<KxsUserAdvance> implements Serializabl
 
 
     /**
-     * 扣款标识 0未扣 1已扣 2撤销
+     * 扣款标识 0未扣 1已扣 2撤销|已返还 3暂停扣款
      */
-    @Schema(description = "扣款标识 0未扣 1已扣 2撤销")
+    @Schema(description = "扣款标识 0未扣 1已扣 2撤销|已返还 3暂停扣款")
     private Integer status;