浏览代码

submit:多规格商品添加改造

yangdamao 3 年之前
父节点
当前提交
1e63c46181

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecAttributeMapper.java

@@ -2,8 +2,11 @@ package com.zhongzheng.modules.goods.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.goods.bo.GoodsSpecAttributeAddBo;
 import com.zhongzheng.modules.goods.domain.GoodsSpecAttribute;
 
+import java.util.List;
+
 /**
  * 【请填写功能名称】Mapper接口
  *
@@ -12,4 +15,5 @@ import com.zhongzheng.modules.goods.domain.GoodsSpecAttribute;
  */
 public interface GoodsSpecAttributeMapper extends BaseMapper<GoodsSpecAttribute> {
 
+    Integer saveBatchEntity(List<GoodsSpecAttributeAddBo> specAttrList);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecMapper.java

@@ -1,8 +1,11 @@
 package com.zhongzheng.modules.goods.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.goods.bo.GoodsSpecAddBo;
 import com.zhongzheng.modules.goods.domain.GoodsSpec;
 
+import java.util.List;
+
 /**
  * 【请填写功能名称】Mapper接口
  *
@@ -11,4 +14,6 @@ import com.zhongzheng.modules.goods.domain.GoodsSpec;
  */
 public interface GoodsSpecMapper extends BaseMapper<GoodsSpec> {
 
+    Integer saveBatchEntity(List<GoodsSpecAddBo> boList);
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecAttributeService.java

@@ -49,4 +49,7 @@ public interface IGoodsSpecAttributeService extends IService<GoodsSpecAttribute>
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    Integer saveBatchEntity(List<GoodsSpecAttributeAddBo> specAttrList);
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecService.java

@@ -50,4 +50,7 @@ public interface IGoodsSpecService extends IService<GoodsSpec> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    Integer saveBatchEntity(List<GoodsSpecAddBo> bos);
+
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecAttributeServiceImpl.java

@@ -100,4 +100,9 @@ public class GoodsSpecAttributeServiceImpl extends ServiceImpl<GoodsSpecAttribut
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public Integer saveBatchEntity(List<GoodsSpecAttributeAddBo> specAttrList) {
+        return baseMapper.saveBatchEntity(specAttrList);
+    }
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecServiceImpl.java

@@ -110,5 +110,10 @@ public class GoodsSpecServiceImpl extends ServiceImpl<GoodsSpecMapper, GoodsSpec
         return this.removeByIds(ids);
     }
 
+    @Override
+    public Integer saveBatchEntity(List<GoodsSpecAddBo> bos) {
+        return baseMapper.saveBatchEntity(bos);
+    }
+
 
 }

+ 59 - 39
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecTemplateServiceImpl.java

@@ -238,33 +238,57 @@ public class GoodsSpecTemplateServiceImpl extends ServiceImpl<GoodsSpecTemplateM
         if (CollectionUtils.isNotEmpty(specList)){
             //重新添加规格
             Integer sort = 1;
+            //新增规格和规格值
             for (GoodsSpecAddBo spec : specList) {
-                GoodsSpec goodsSpec = new GoodsSpec();
-                BeanUtil.copyProperties(spec,goodsSpec);
-                goodsSpec.setSpecTemplateId(bo.getSpecTemplateId());
-                goodsSpec.setCreateTime(DateUtils.getNowTime());
-                goodsSpec.setUpdateTime(DateUtils.getNowTime());
-                goodsSpec.setSort(sort);
-                goodsSpecService.save(goodsSpec);
-                spec.setSpecId(goodsSpec.getSpecId());
-                if (CollectionUtils.isNotEmpty(spec.getSpecAttrList())){
-                    Integer attrSortId = 1;
-                    for (GoodsSpecAttributeAddBo item : spec.getSpecAttrList()) {
-                        GoodsSpecAttribute goodsSpecAttribute = new GoodsSpecAttribute();
-                        BeanUtil.copyProperties(item, goodsSpecAttribute);
-                        goodsSpecAttribute.setCreateTime(DateUtils.getNowTime());
-                        goodsSpecAttribute.setUpdateTime(DateUtils.getNowTime());
-                        goodsSpecAttribute.setSpecId(goodsSpec.getSpecId());
+                spec.setSpecTemplateId(bo.getSpecTemplateId());
+                spec.setCreateTime(DateUtils.getNowTime());
+                spec.setUpdateTime(DateUtils.getNowTime());
+                spec.setSort(sort);
+                sort ++;
+            }
+            goodsSpecService.saveBatchEntity(specList);
+            for (GoodsSpecAddBo specAddBo : specList) {
+                Integer attrSort = 1;//排序值
+                if (CollectionUtils.isNotEmpty(specAddBo.getSpecAttrList())){
+                    for (GoodsSpecAttributeAddBo item : specAddBo.getSpecAttrList()) {
+                        item.setCreateTime(DateUtils.getNowTime());
+                        item.setUpdateTime(DateUtils.getNowTime());
+                        item.setSpecId(specAddBo.getSpecId());
                         if (ObjectUtils.isNull(item.getSort())){
-                            goodsSpecAttribute.setSort(attrSortId);
+                            item.setSort(attrSort);
                         }
-                        goodsSpecAttributeService.save(goodsSpecAttribute);
-                        item.setSpecAttributeId(goodsSpecAttribute.getSpecAttributeId());
-                        attrSortId ++;
+                        attrSort ++;
                     }
+                    goodsSpecAttributeService.saveBatchEntity(specAddBo.getSpecAttrList());
                 }
-                sort ++;
             }
+//            for (GoodsSpecAddBo spec : specList) {
+//                GoodsSpec goodsSpec = new GoodsSpec();
+//                BeanUtil.copyProperties(spec,goodsSpec);
+//                goodsSpec.setSpecTemplateId(bo.getSpecTemplateId());
+//                goodsSpec.setCreateTime(DateUtils.getNowTime());
+//                goodsSpec.setUpdateTime(DateUtils.getNowTime());
+//                goodsSpec.setSort(sort);
+//                goodsSpecService.save(goodsSpec);
+//                spec.setSpecId(goodsSpec.getSpecId());
+//                if (CollectionUtils.isNotEmpty(spec.getSpecAttrList())){
+//                    Integer attrSortId = 1;
+//                    for (GoodsSpecAttributeAddBo item : spec.getSpecAttrList()) {
+//                        GoodsSpecAttribute goodsSpecAttribute = new GoodsSpecAttribute();
+//                        BeanUtil.copyProperties(item, goodsSpecAttribute);
+//                        goodsSpecAttribute.setCreateTime(DateUtils.getNowTime());
+//                        goodsSpecAttribute.setUpdateTime(DateUtils.getNowTime());
+//                        goodsSpecAttribute.setSpecId(goodsSpec.getSpecId());
+//                        if (ObjectUtils.isNull(item.getSort())){
+//                            goodsSpecAttribute.setSort(attrSortId);
+//                        }
+//                        goodsSpecAttributeService.save(goodsSpecAttribute);
+//                        item.setSpecAttributeId(goodsSpecAttribute.getSpecAttributeId());
+//                        attrSortId ++;
+//                    }
+//                }
+//                sort ++;
+//            }
         }
     };
 
@@ -318,31 +342,27 @@ public class GoodsSpecTemplateServiceImpl extends ServiceImpl<GoodsSpecTemplateM
         Integer sort = 1;//排序值
         //新增规格和规格值
         for (GoodsSpecAddBo bo : bos) {
-            GoodsSpec goodsSpec = new GoodsSpec();
-            BeanUtil.copyProperties(bo,goodsSpec);
-            goodsSpec.setSpecTemplateId(goodsSpecTemplate.getSpecTemplateId());
-            goodsSpec.setCreateTime(DateUtils.getNowTime());
-            goodsSpec.setUpdateTime(DateUtils.getNowTime());
-            goodsSpec.setSort(sort);
-            goodsSpecService.save(goodsSpec);
-            bo.setSpecId(goodsSpec.getSpecId());
+            bo.setSpecTemplateId(goodsSpecTemplate.getSpecTemplateId());
+            bo.setCreateTime(DateUtils.getNowTime());
+            bo.setUpdateTime(DateUtils.getNowTime());
+            bo.setSort(sort);
+            sort ++;
+        }
+        goodsSpecService.saveBatchEntity(bos);
+        for (GoodsSpecAddBo specAddBo : bos) {
             Integer attrSort = 1;//排序值
-            if (CollectionUtils.isNotEmpty(bo.getSpecAttrList())){
-                for (GoodsSpecAttributeAddBo item : bo.getSpecAttrList()) {
-                    GoodsSpecAttribute goodsSpecAttribute = new GoodsSpecAttribute();
-                    BeanUtil.copyProperties(item, goodsSpecAttribute);
-                    goodsSpecAttribute.setCreateTime(DateUtils.getNowTime());
-                    goodsSpecAttribute.setUpdateTime(DateUtils.getNowTime());
-                    goodsSpecAttribute.setSpecId(goodsSpec.getSpecId());
+            if (CollectionUtils.isNotEmpty(specAddBo.getSpecAttrList())){
+                for (GoodsSpecAttributeAddBo item : specAddBo.getSpecAttrList()) {
+                    item.setCreateTime(DateUtils.getNowTime());
+                    item.setUpdateTime(DateUtils.getNowTime());
+                    item.setSpecId(specAddBo.getSpecId());
                     if (ObjectUtils.isNull(item.getSort())){
                         item.setSort(attrSort);
                     }
-                    goodsSpecAttributeService.save(goodsSpecAttribute);
-                    item.setSpecAttributeId(goodsSpecAttribute.getSpecAttributeId());
                     attrSort ++;
                 }
+                goodsSpecAttributeService.saveBatchEntity(specAddBo.getSpecAttrList());
             }
-            sort ++;
         }
         specAttrRelList = new ArrayList<>();
         //组装规格属性列表

+ 16 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecAttributeMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.goods.mapper.GoodsSpecAttributeMapper">
+
+    <insert id="saveBatchEntity" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="specAttributeId">
+        INSERT INTO
+        goods_spec_attribute (spec_id, `name`, `code`, sort, status,create_time,update_time)
+        VALUES
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.specId}, #{item.name}, #{item.code},#{item.sort},#{item.status},#{item.createTime}, #{item.updateTime})
+        </foreach>
+    </insert>
+
+</mapper>

+ 16 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.goods.mapper.GoodsSpecMapper">
+
+    <insert id="saveBatchEntity" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="specId">
+        INSERT INTO
+        goods_spec (spec_template_id, `name`, `code`, sort, status,create_time,update_time)
+        VALUES
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.specTemplateId}, #{item.name}, #{item.code},#{item.sort},#{item.status},#{item.createTime}, #{item.updateTime})
+        </foreach>
+    </insert>
+
+</mapper>