Browse Source

fix:bug修复

xdd 1 week ago
parent
commit
62d46dd172

+ 4 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsShippingTemplatesFreeMapper.java

@@ -90,4 +90,8 @@ public interface FsShippingTemplatesFreeMapper
 
     @Select("select * from fs_shipping_templates_free where temp_id=${templateId}")
     List<FsShippingTemplatesFree> selectFreeShippingRuleByTempId(@Param("templateId") Long templateId);
+
+
+    void saveBatch(@Param("list") List<FsShippingTemplatesFree> shippingTemplatesFreeList);
+
 }

+ 3 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsShippingTemplatesRegionMapper.java

@@ -69,4 +69,7 @@ public interface FsShippingTemplatesRegionMapper
 
     @Select("select * from fs_shipping_templates_region where temp_id=${templateId}")
     List<FsShippingTemplatesRegion> selectTempRegionByTempIdAndCityId(@Param("templateId") Long templateId);
+
+    void batchSaveRegions(@Param("list") List<FsShippingTemplatesRegion> fsShippingTemplatesRegions);
+
 }

+ 21 - 6
fs-service-system/src/main/java/com/fs/store/service/impl/FsShippingTemplatesServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fs.store.service.impl;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -18,11 +19,14 @@ import com.fs.store.dto.RegionInfoDTO;
 import com.fs.store.mapper.FsShippingTemplatesFreeMapper;
 import com.fs.store.mapper.FsShippingTemplatesRegionMapper;
 import com.fs.store.param.FsShippingTemplatesAddEditParam;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fs.store.mapper.FsShippingTemplatesMapper;
 import com.fs.store.domain.FsShippingTemplates;
 import com.fs.store.service.IFsShippingTemplatesService;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 运费模板Service业务层处理
@@ -47,7 +51,7 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
     /**
      * 查询运费模板
      *
-     * @param shippingId 运费模板ID
+     * @param id 运费模板ID
      * @return 运费模板
      */
     @Override
@@ -97,7 +101,7 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
     /**
      * 批量删除运费模板
      *
-     * @param shippingIds 需要删除的运费模板ID
+     * @param ids 需要删除的运费模板ID
      * @return 结果
      */
     @Override
@@ -109,7 +113,7 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
     /**
      * 删除运费模板信息
      *
-     * @param shippingId 运费模板ID
+     * @param ids 运费模板ID
      * @return 结果
      */
     @Override
@@ -119,6 +123,7 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public R addOrEdit(FsShippingTemplatesAddEditParam fsShippingTemplates) {
         if(fsShippingTemplates.getAppoint()==1&& fsShippingTemplates.getAppointInfo().isEmpty()){
             throw new CustomException("请指定包邮地区");
@@ -158,6 +163,8 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
     private void saveRegion(FsShippingTemplatesAddEditParam param,Long tempId){
         fsShippingTemplatesRegionMapper.deleteFsShippingTemplatesRegionByTempId(tempId);
         List<RegionInfoDTO> regionInfo = param.getRegionInfo();
+        List<FsShippingTemplatesRegion> fsShippingTemplatesRegions = new ArrayList<>();
+
         for (RegionInfoDTO regionInfoDto : regionInfo){
             String uni = IdUtil.simpleUUID();
             if(regionInfoDto.getRegion() != null && !regionInfoDto.getRegion().isEmpty()){
@@ -173,7 +180,7 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
                             shippingTemplatesRegion.setType(param.getType());
                             shippingTemplatesRegion.setProvinceId(Long.valueOf(regionDto.getCityId()));
                             shippingTemplatesRegion.setCityId(Long.valueOf(childrenDtp.getCityId()));
-                            fsShippingTemplatesRegionMapper.insertFsShippingTemplatesRegion(shippingTemplatesRegion);
+                            fsShippingTemplatesRegions.add(shippingTemplatesRegion);
                         }
                     }else{
 
@@ -185,11 +192,13 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
                         shippingTemplatesRegion.setContinuePrice(new BigDecimal(regionInfoDto.getContinuePrice()));
                         shippingTemplatesRegion.setType(param.getType());
                         shippingTemplatesRegion.setProvinceId(Long.valueOf(regionDto.getCityId()));
-                        fsShippingTemplatesRegionMapper.insertFsShippingTemplatesRegion(shippingTemplatesRegion);
+                        fsShippingTemplatesRegions.add(shippingTemplatesRegion);
                     }
                 }
             }
         }
+
+        fsShippingTemplatesRegionMapper.batchSaveRegions(fsShippingTemplatesRegions);
     }
 
     /**
@@ -205,6 +214,8 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
         }
         fsShippingTemplatesFreeMapper.deleteFsShippingTemplatesFreeByTempId(tempId);
         List<AppointInfoDTO> appointInfo = param.getAppointInfo();
+        List<FsShippingTemplatesFree> shippingTemplatesFreeList = new ArrayList<>();
+
         for (AppointInfoDTO appointInfoDto : appointInfo){
             if(appointInfoDto.getPlace() != null && !appointInfoDto.getPlace().isEmpty()){
                 for (RegionDTO regionDto : appointInfoDto.getPlace()){
@@ -218,11 +229,15 @@ public class FsShippingTemplatesServiceImpl implements IFsShippingTemplatesServi
                                     .provinceId(Long.valueOf(regionDto.getCityId()))
                                     .cityId(Long.valueOf(childrenDto.getCityId()))
                                     .build();
-                            fsShippingTemplatesFreeMapper.insertFsShippingTemplatesFree(shippingTemplatesFree);
+                            shippingTemplatesFreeList.add(shippingTemplatesFree);
                         }
                     }
                 }
             }
         }
+
+        if(CollectionUtils.isNotEmpty(shippingTemplatesFreeList)) {
+            fsShippingTemplatesFreeMapper.saveBatch(shippingTemplatesFreeList);
+        }
     }
 }

+ 28 - 7
fs-service-system/src/main/resources/mapper/store/FsShippingTemplatesFreeMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fs.store.mapper.FsShippingTemplatesFreeMapper">
-    
+
     <resultMap type="FsShippingTemplatesFree" id="FsShippingTemplatesFreeResult">
         <result property="id"    column="id"    />
         <result property="tempId"    column="temp_id"    />
@@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectFsShippingTemplatesFreeList" parameterType="FsShippingTemplatesFree" resultMap="FsShippingTemplatesFreeResult">
         <include refid="selectFsShippingTemplatesFreeVo"/>
-        <where>  
+        <where>
             <if test="tempId != null "> and temp_id = #{tempId}</if>
             <if test="provinceId != null "> and province_id = #{provinceId}</if>
             <if test="cityId != null "> and city_id = #{cityId}</if>
@@ -29,12 +29,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="type != null "> and type = #{type}</if>
         </where>
     </select>
-    
+
     <select id="selectFsShippingTemplatesFreeById" parameterType="Long" resultMap="FsShippingTemplatesFreeResult">
         <include refid="selectFsShippingTemplatesFreeVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertFsShippingTemplatesFree" parameterType="FsShippingTemplatesFree" useGeneratedKeys="true" keyProperty="id">
         insert into fs_shipping_templates_free
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -54,6 +54,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="type != null">#{type},</if>
          </trim>
     </insert>
+    <insert id="saveBatch">
+        <foreach collection="list" item="item" index="index" separator=";">
+            insert into fs_shipping_templates_free
+            <trim prefix="(" suffix=")" suffixOverrides=",">
+                <if test="item.tempId != null">temp_id,</if>
+                <if test="item.provinceId != null">province_id,</if>
+                <if test="item.cityId != null">city_id,</if>
+                <if test="item.number != null">number,</if>
+                <if test="item.price != null">price,</if>
+                <if test="item.type != null">type,</if>
+            </trim>
+            <trim prefix="values (" suffix=")" suffixOverrides=",">
+                <if test="item.tempId != null">#{item.tempId},</if>
+                <if test="item.provinceId != null">#{item.provinceId},</if>
+                <if test="item.cityId != null">#{item.cityId},</if>
+                <if test="item.number != null">#{item.number},</if>
+                <if test="item.price != null">#{item.price},</if>
+                <if test="item.type != null">#{item.type},</if>
+            </trim>
+        </foreach>
+    </insert>
 
     <update id="updateFsShippingTemplatesFree" parameterType="FsShippingTemplatesFree">
         update fs_shipping_templates_free
@@ -73,10 +94,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteFsShippingTemplatesFreeByIds" parameterType="String">
-        delete from fs_shipping_templates_free where id in 
+        delete from fs_shipping_templates_free where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
-    
-</mapper>
+
+</mapper>

+ 32 - 7
fs-service-system/src/main/resources/mapper/store/FsShippingTemplatesRegionMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fs.store.mapper.FsShippingTemplatesRegionMapper">
-    
+
     <resultMap type="FsShippingTemplatesRegion" id="FsShippingTemplatesRegionResult">
         <result property="id"    column="id"    />
         <result property="provinceId"    column="province_id"    />
@@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectFsShippingTemplatesRegionList" parameterType="FsShippingTemplatesRegion" resultMap="FsShippingTemplatesRegionResult">
         <include refid="selectFsShippingTemplatesRegionVo"/>
-        <where>  
+        <where>
             <if test="provinceId != null "> and province_id = #{provinceId}</if>
             <if test="tempId != null "> and temp_id = #{tempId}</if>
             <if test="cityId != null "> and city_id = #{cityId}</if>
@@ -33,12 +33,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="type != null "> and type = #{type}</if>
         </where>
     </select>
-    
+
     <select id="selectFsShippingTemplatesRegionById" parameterType="Long" resultMap="FsShippingTemplatesRegionResult">
         <include refid="selectFsShippingTemplatesRegionVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertFsShippingTemplatesRegion" parameterType="FsShippingTemplatesRegion" useGeneratedKeys="true" keyProperty="id">
         insert into fs_shipping_templates_region
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -62,6 +62,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="type != null">#{type},</if>
          </trim>
     </insert>
+    <insert id="batchSaveRegions">
+        <foreach collection="list" index="index" item="item" separator=";">
+            insert into fs_shipping_templates_region
+            <trim prefix="(" suffix=")" suffixOverrides=",">
+                <if test="item.provinceId != null">province_id,</if>
+                <if test="item.tempId != null">temp_id,</if>
+                <if test="item.cityId != null">city_id,</if>
+                <if test="item.first != null">first,</if>
+                <if test="item.firstPrice != null">first_price,</if>
+                <if test="item.continues != null">continues,</if>
+                <if test="item.continuePrice != null">continue_price,</if>
+                <if test="item.type != null">type,</if>
+            </trim>
+            <trim prefix="values (" suffix=")" suffixOverrides=",">
+                <if test="item.provinceId != null">#{item.provinceId},</if>
+                <if test="item.tempId != null">#{item.tempId},</if>
+                <if test="item.cityId != null">#{item.cityId},</if>
+                <if test="item.first != null">#{item.first},</if>
+                <if test="item.firstPrice != null">#{item.firstPrice},</if>
+                <if test="item.continues != null">#{item.continues},</if>
+                <if test="item.continuePrice != null">#{item.continuePrice},</if>
+                <if test="item.type != null">#{item.type},</if>
+            </trim>
+        </foreach>
+    </insert>
 
     <update id="updateFsShippingTemplatesRegion" parameterType="FsShippingTemplatesRegion">
         update fs_shipping_templates_region
@@ -83,10 +108,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteFsShippingTemplatesRegionByIds" parameterType="String">
-        delete from fs_shipping_templates_region where id in 
+        delete from fs_shipping_templates_region where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
-    
-</mapper>
+
+</mapper>