Bläddra i källkod

删除活动,同时删除对应活动详情

lhm 3 år sedan
förälder
incheckning
220cb4b705

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/MkActivitiesPromotionDao.java

@@ -42,4 +42,6 @@ public interface MkActivitiesPromotionDao extends BaseDao<MkActivitiesPromotionE
      * @return 限时特价活动规则
      */
     List<MkActivitiesPromotionEntity> queryListByMkaIdAndStoreId(@Param("mkaId") int mkaId, @Param("storeId") String storeId);
+
+    void deleteBatchByMkaId(@Param("mkaId") int mkaId);
 }

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkActivitiesAssociationDao.java

@@ -23,4 +23,6 @@ public interface MkActivitiesAssociationDao extends BaseDao<MkActivitiesAssociat
     int updateByMkaId(MkActivitiesAssociationEntity mkActivitiesAssociationEntity);
 
     MkActivitiesAssociationEntity queryByMkCodeAndTopic(@Param("mkCode") String mkCode, @Param("mkaTopic") String mkaTopic, @Param("mkaStoreId") String mkaStoreId);
+
+    void deleteByMkaId(@Param("mkaId") Long mkaId);
 }

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkActivitiesDao.java

@@ -34,4 +34,6 @@ public interface MkActivitiesDao extends BaseDao<MkActivitiesEntity> {
      * @return 满赠活动列表
      */
     List<MkActivitiesEntity> queryByNowByMz(@Param("storeId") String storeId, @Param("currentTime") String currentTime);
+
+    List<MkActivitiesEntity> queryListByMkaIdList(List<Integer> mkaIdList);
 }

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkActivitiesScoreDao.java

@@ -28,4 +28,6 @@ public interface MkActivitiesScoreDao extends BaseDao<MkActivitiesScoreEntity> {
      * @return 活动
      */
     List<MkActivitiesScoreEntity> queryActivityInfoByMkaIdList(List<Long> mkaIdList);
+
+    void deleteBatchByMkaId(@Param("mkaId") int mkaId);
 }

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/service/MkActivitiesPromotionService.java

@@ -112,4 +112,6 @@ public interface MkActivitiesPromotionService {
      * @return      限时特价活动规则
      */
     List<MkActivitiesPromotionEntity> queryListByMkaIdAndStoreId(int mkaId, String storeId);
+
+    void deleteBatchByMkaId(int mkaId);
 }

+ 5 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/MkActivitiesPromotionServiceImpl.java

@@ -168,4 +168,9 @@ public class MkActivitiesPromotionServiceImpl implements MkActivitiesPromotionSe
     public List<MkActivitiesPromotionEntity> queryListByMkaIdAndStoreId(int mkaId, String storeId) {
         return mkActivitiesPromotionDao.queryListByMkaIdAndStoreId(mkaId, storeId);
     }
+
+    @Override
+    public void deleteBatchByMkaId(int mkaId) {
+        mkActivitiesPromotionDao.deleteBatchByMkaId(mkaId);
+    }
 }

+ 5 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivitiesScoreServiceImpl.java

@@ -83,6 +83,11 @@ public class MkActivitiesScoreServiceImpl implements MkActivitiesScoreService {
         return mkActivitiesScoreDao.deleteBatch(ids);
     }
 
+    @Override
+    public void deleteBatchByMkaId(int mkaId) {
+        mkActivitiesScoreDao.deleteBatchByMkaId(mkaId);
+    }
+
     /**
      * 导入
      *

+ 35 - 5
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivitiesServiceImpl.java

@@ -5,6 +5,9 @@ import com.kmall.admin.dao.mk.MkActivitiesDao;
 import com.kmall.admin.entity.mk.MkActivitiesAssociationEntity;
 import com.kmall.admin.entity.mk.MkActivitiesEntity;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
+import com.kmall.admin.haikong.constant.Constants;
+import com.kmall.admin.service.MkActivitiesPromotionService;
+import com.kmall.admin.service.mk.MkActivitiesScoreService;
 import com.kmall.admin.service.mk.MkActivitiesService;
 import com.kmall.admin.utils.ShiroUtils;
 import com.kmall.common.utils.BeanUtils;
@@ -14,9 +17,8 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 营销活动表Service实现类
@@ -32,6 +34,12 @@ public class MkActivitiesServiceImpl implements MkActivitiesService {
     @Autowired
     private MkActivitiesAssociationDao mkActivitiesAssociationDao;
 
+    @Autowired
+    private MkActivitiesScoreService mkActivitiesScoreService;
+
+    @Autowired
+    private MkActivitiesPromotionService mkActivitiesPromotionService;
+
     @Override
     public MkActivitiesEntity queryObject(Long mkaId) {
         return mkActivitiesDao.queryObject(mkaId);
@@ -90,15 +98,32 @@ public class MkActivitiesServiceImpl implements MkActivitiesService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int delete(Long mkaId) {
+        MkActivitiesEntity mkActivitiesEntity = queryObject(mkaId);
+        deleteByTopic(mkActivitiesEntity);
+        mkActivitiesAssociationDao.deleteByMkaId(mkActivitiesEntity.getMkaId());
         return mkActivitiesDao.delete(mkaId);
     }
 
+    private void deleteByTopic(MkActivitiesEntity mkActivitiesEntity) {
+        int mkaId = mkActivitiesEntity.getMkaId().intValue();
+        if (Constants.ActivityTopicEnum.JFDK.getTopicCode().equals(mkActivitiesEntity.getMkaTopic())) {
+            mkActivitiesScoreService.deleteBatchByMkaId(mkaId);
+        } else if (Constants.ActivityTopicEnum.LSCX.getTopicCode().equals(mkActivitiesEntity.getMkaTopic())) {
+            mkActivitiesPromotionService.deleteBatchByMkaId(mkaId);
+        }
+    }
+
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public int deleteBatch(Long[]mkaIds) {
         mkActivitiesDao.deleteBatch(mkaIds);
-
+        List<Integer> integerList = Arrays.stream(mkaIds).map(Long::intValue).collect(Collectors.toList());
+        List<MkActivitiesEntity> mkActivitiesEntities = queryListByMkaIdList(integerList);
+        for (MkActivitiesEntity mkActivitiesEntity : mkActivitiesEntities) {
+            deleteByTopic(mkActivitiesEntity);
+        }
         mkActivitiesAssociationDao.deleteBatch(mkaIds);
         return 1;
     }
@@ -132,4 +157,9 @@ public class MkActivitiesServiceImpl implements MkActivitiesService {
     public List<MkActivitiesEntity> queryByTopic(String storeId, String currentTime, String topic) {
         return mkActivitiesDao.queryByTopic(storeId,currentTime,topic);
     }
+
+    @Override
+    public List<MkActivitiesEntity> queryListByMkaIdList(List<Integer> mkaIdList) {
+        return mkActivitiesDao.queryListByMkaIdList(mkaIdList);
+    }
 }

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/service/mk/MkActivitiesScoreService.java

@@ -73,6 +73,8 @@ public interface MkActivitiesScoreService {
      */
     int deleteBatch(Integer[]ids);
 
+    void deleteBatchByMkaId(int mkaId);
+
     /**
      * 导入
      * @param scoreReductionDTOList 导入的数据

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/service/mk/MkActivitiesService.java

@@ -89,4 +89,6 @@ public interface MkActivitiesService {
     List<MkActivitiesEntity> queryByNowByMz(String storeId, String currentTime);
 
     List<MkActivitiesEntity> queryByTopic(String storeId, String format, String topic);
+
+    List<MkActivitiesEntity> queryListByMkaIdList(List<Integer> mkaIdList);
 }

+ 4 - 1
kmall-admin/src/main/resources/mybatis/mapper/MkActivitiesPromotionDao.xml

@@ -161,8 +161,11 @@
 			#{mapId}
 		</foreach>
 	</delete>
+    <delete id="deleteBatchByMkaId">
+		delete from mk_activities_promotion where mka_id = #{mkaId}
+	</delete>
 
-	<select id="queryByBarCode" resultType="com.kmall.admin.entity.MkActivitiesPromotionEntity">
+    <select id="queryByBarCode" resultType="com.kmall.admin.entity.MkActivitiesPromotionEntity">
 		select
 			`map_id`,
 			`product_name`,

+ 4 - 1
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesAssociationDao.xml

@@ -142,8 +142,11 @@
 			#{mkaId}
 		</foreach>
 	</delete>
+    <delete id="deleteByMkaId">
+		delete from mk_activities_association where mka_id = #{mkaId}
+	</delete>
 
-	<update id="updateByMkaId" parameterType="com.kmall.admin.entity.mk.MkActivitiesAssociationEntity">
+    <update id="updateByMkaId" parameterType="com.kmall.admin.entity.mk.MkActivitiesAssociationEntity">
 		update mk_activities_association
 		<set>
 			<if test="mkCode != null">`mk_code` = #{mkCode}, </if>

+ 7 - 0
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesDao.xml

@@ -226,4 +226,11 @@
 			and mka_topic = 'mz'
 			and mka_status = 1
 	</select>
+
+    <select id="queryListByMkaIdList" resultMap="mkActivitiesMap">
+		select * from mk_activities where mka_id in
+		<foreach collection="list" open="(" separator="," close=")" item="item">
+			#{item}
+		</foreach>
+	</select>
 </mapper>

+ 3 - 0
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesScoreDao.xml

@@ -185,5 +185,8 @@
 			#{id}
 		</foreach>
 	</delete>
+    <delete id="deleteBatchByMkaId">
+		delete from mk_activities_score where mka_id = #{mkaId}
+	</delete>
 
 </mapper>