| 
					
				 | 
			
			
				@@ -1,18 +1,27 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.kmall.admin.service.impl.mk; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.admin.cuspay.aop.AspectWebLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.admin.dao.mk.MkActivityFormDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.admin.entity.mk.MkActivitiesAssociationEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.admin.entity.mk.MkActivitiesEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.admin.entity.mk.MkActivityFormEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.admin.fromcomm.entity.SysUserEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.admin.service.mk.MkActivitiesAssociationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.admin.service.mk.MkActivitiesService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.admin.service.mk.MkActivityFormService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.admin.utils.ShiroUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.admin.utils.jackson.JacksonUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.common.constant.Dict; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kmall.common.utils.R; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.kmall.common.utils.RRException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 活动形式表Service实现类 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,8 +32,13 @@ import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service("mkActivityFormService") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class MkActivityFormServiceImpl implements MkActivityFormService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final Logger logger = LoggerFactory.getLogger(MkActivityFormServiceImpl.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private MkActivityFormDao mkActivityFormDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private MkActivitiesAssociationService mkActivitiesAssociationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private MkActivitiesService mkActivitiesService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public MkActivityFormEntity queryObject(Long mmId) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -71,8 +85,44 @@ public class MkActivityFormServiceImpl implements MkActivityFormService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public int deleteBatch(Long[]mmIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return mkActivityFormDao.deleteBatch(mmIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public R deleteBatch(Long[]mmIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MkActivityFormEntity> mkActivityFormEntities = mkActivityFormDao.listBymmIds(mmIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.debug("活动形式删除数据:{}", JacksonUtil.toJson(mkActivityFormEntities)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!mkActivityFormEntities.isEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //不为空说明下一级菜单有 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (Long mmid : mmIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                MkActivityFormEntity mkActivitiesEntity=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (MkActivityFormEntity activitiesEntity: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        mkActivityFormEntities) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (mmid.equals(activitiesEntity.getMmId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        mkActivitiesEntity=activitiesEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // mkActivitiesEntity对象为空跳出循环 应该是不会为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (Objects.isNull(mkActivitiesEntity)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.debug("当前删除的活动形式数据:{}",JacksonUtil.toJson(mkActivitiesEntity)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String mkCode = mkActivitiesEntity.getMkCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //第二层 营销活动-活动关联表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                HashMap<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                map.put("mkCode",mkCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<MkActivitiesAssociationEntity> mkActivitiesAssociationEntities = mkActivitiesAssociationService.queryList(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.debug("营销活动-活动关联表数据:{}",JacksonUtil.toJson(mkActivitiesAssociationEntities)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Long> mkaIds = mkActivitiesAssociationEntities.stream().map(bean -> bean.getMkaId()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Long[] longs = mkaIds.toArray(new Long[]{}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            mkActivitiesAssociationEntities.stream().map(Long::get).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //第三层 营销活动表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //第四层 营销活动对应具体活动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.debug("营销活动-活动关联删除数据:{}",JacksonUtil.toJson(longs)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                mkActivitiesService.deleteBatch(longs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //第一层删除  活动形式表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mkActivityFormDao.deleteBatch(mmIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return R.ok("删除成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 |