Bladeren bron

Merge branch 'master' of zyh/kmall-haikong into master

张永豪 3 jaren geleden
bovenliggende
commit
cb69062e33
17 gewijzigde bestanden met toevoegingen van 190 en 16 verwijderingen
  1. 1 3
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkActivityFormController.java
  2. 2 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkActivitiesPresentIntegralDao.java
  3. 1 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkActivityFormDao.java
  4. 5 0
      kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivitiesPresentIntegralServiceImpl.java
  5. 14 1
      kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivitiesServiceImpl.java
  6. 55 5
      kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivityFormServiceImpl.java
  7. 26 1
      kmall-admin/src/main/java/com/kmall/admin/service/impl/vip/Mall2PointsRulesServiceImpl.java
  8. 3 0
      kmall-admin/src/main/java/com/kmall/admin/service/mk/MkActivitiesPresentIntegralService.java
  9. 2 1
      kmall-admin/src/main/java/com/kmall/admin/service/mk/MkActivityFormService.java
  10. 6 0
      kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesAssociationDao.xml
  11. 8 0
      kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesPresentIntegralDao.xml
  12. 16 0
      kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivityFormDao.xml
  13. 4 4
      kmall-admin/src/main/webapp/WEB-INF/page/mk/mall2RulesDetil.html
  14. 10 1
      kmall-admin/src/main/webapp/js/mk/mall2RulesDetil.js
  15. 1 0
      kmall-admin/src/main/webapp/js/mk/mkactivitiespresentintegral.js
  16. 2 0
      kmall-admin/src/main/webapp/js/mk/mkactivityform.js
  17. 34 0
      kmall-common/src/main/java/com/kmall/common/constant/Dict.java

+ 1 - 3
kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkActivityFormController.java

@@ -108,9 +108,7 @@ public class MkActivityFormController {
     @RequiresPermissions("mkactivityform:delete")
     @ResponseBody
     public R delete(@RequestBody Long[]mmIds) {
-        mkActivityFormService.deleteBatch(mmIds);
-
-        return R.ok();
+        return mkActivityFormService.deleteBatch(mmIds);
     }
 
     /**

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

@@ -22,4 +22,6 @@ public interface MkActivitiesPresentIntegralDao extends BaseDao<MkActivitiesPres
      * @return
      */
     List<MkActivitiesPresentIntegralEntity> querySkuByNow(String storeId, String currentTime, String mkaTopic);
+
+    Integer deleteByMkaId(int mkaId);
 }

+ 1 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkActivityFormDao.java

@@ -29,4 +29,5 @@ public interface MkActivityFormDao extends BaseDao<MkActivityFormEntity> {
      */
     MkActivityFormEntity queryObjectByMkCode(@Param("mkCode") String mkCode);
 
+    List<MkActivityFormEntity> listBymmIds(Long[] mmIds);
 }

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

@@ -136,4 +136,9 @@ public class MkActivitiesPresentIntegralServiceImpl implements MkActivitiesPrese
     public List<MkActivitiesPresentIntegralEntity> querySkuByNow(String storeId, String currentTime, String mkaTopic) {
         return mkActivitiesPresentIntegralDao.querySkuByNow(storeId,currentTime,mkaTopic);
     }
+
+    @Override
+    public Integer deleteByMkaId(int mkaId) {
+        return mkActivitiesPresentIntegralDao.deleteByMkaId(mkaId);
+    }
 }

+ 14 - 1
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivitiesServiceImpl.java

@@ -7,11 +7,15 @@ 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.MkActivitiesPresentIntegralService;
 import com.kmall.admin.service.mk.MkActivitiesScoreService;
 import com.kmall.admin.service.mk.MkActivitiesService;
 import com.kmall.admin.utils.ShiroUtils;
+import com.kmall.admin.utils.jackson.JacksonUtil;
 import com.kmall.common.utils.BeanUtils;
 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;
@@ -30,6 +34,7 @@ import java.util.stream.Collectors;
  */
 @Service("mkActivitiesService")
 public class MkActivitiesServiceImpl implements MkActivitiesService {
+    private static final Logger logger = LoggerFactory.getLogger(MkActivitiesServiceImpl.class);
     @Autowired
     private MkActivitiesDao mkActivitiesDao;
     @Autowired
@@ -41,6 +46,9 @@ public class MkActivitiesServiceImpl implements MkActivitiesService {
     @Autowired
     private MkActivitiesPromotionService mkActivitiesPromotionService;
 
+    @Autowired
+    private MkActivitiesPresentIntegralService mkActivitiesPresentIntegralService;
+
     @Override
     public MkActivitiesEntity queryObject(Long mkaId) {
         return mkActivitiesDao.queryObject(mkaId);
@@ -119,18 +127,23 @@ public class MkActivitiesServiceImpl implements MkActivitiesService {
             mkActivitiesScoreService.deleteBatchByMkaId(mkaId);
         } else if (Constants.ActivityTopicEnum.LSCX.getTopicCode().equals(mkActivitiesEntity.getMkaTopic())) {
             mkActivitiesPromotionService.deleteBatchByMkaId(mkaId);
+        } else if (Constants.ActivityTopicEnum.ZSJF.getTopicCode().equals(mkActivitiesEntity.getMkaTopic())){
+            mkActivitiesPresentIntegralService.deleteByMkaId(mkaId);
         }
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int deleteBatch(Long[]mkaIds) {
-        mkActivitiesDao.deleteBatch(mkaIds);
+        logger.debug("删除参数:{}", JacksonUtil.toJson(mkaIds));
         List<Integer> integerList = Arrays.stream(mkaIds).map(Long::intValue).collect(Collectors.toList());
         List<MkActivitiesEntity> mkActivitiesEntities = queryListByMkaIdList(integerList);
+        logger.debug("营销活动删除数据集合:{}",JacksonUtil.toJson(mkActivitiesEntities));
         for (MkActivitiesEntity mkActivitiesEntity : mkActivitiesEntities) {
+            logger.debug("营销活动删除数据:{}",JacksonUtil.toJson(mkActivitiesEntity));
             deleteByTopic(mkActivitiesEntity);
         }
+        mkActivitiesDao.deleteBatch(mkaIds);
         mkActivitiesAssociationDao.deleteBatch(mkaIds);
         return 1;
     }

+ 55 - 5
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivityFormServiceImpl.java

@@ -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

+ 26 - 1
kmall-admin/src/main/java/com/kmall/admin/service/impl/vip/Mall2PointsRulesServiceImpl.java

@@ -87,6 +87,31 @@ public class Mall2PointsRulesServiceImpl implements Mall2PointsRulesService {
      */
     @Override
     public R rulesUploadDetil(List<Mall2RulesDto> pointsRulesList, Long mkaId,Boolean isUpdate) {
+        /**
+         * 导入会出现重复数据并且数据库里没有
+         *  数据长度大于1的时候说明是导入进行校验
+         *  为1时 是导入或者界面添加
+         */
+        if (pointsRulesList.size() >1){
+            for (int i = 0; i < pointsRulesList.size(); i++) {
+                String pointsRulesName = Objects.isNull(pointsRulesList.get(i).getPointsRulesName()) ? "":pointsRulesList.get(i).getPointsRulesName();
+                String storeName = Objects.isNull(pointsRulesList.get(i).getStoreName()) ? "" : pointsRulesList.get(i).getStoreName();
+                if (Objects.isNull(pointsRulesName) || Objects.isNull(storeName)){
+                    continue;
+                }
+                for (int j = i+1; j < pointsRulesList.size(); j++) {
+                    String pointsRulesName1 = Objects.isNull(pointsRulesList.get(j).getPointsRulesName()) ? "": pointsRulesList.get(j).getPointsRulesName();
+                    String storeName1 = Objects.isNull(pointsRulesList.get(j).getStoreName()) ? "" : pointsRulesList.get(j).getStoreName();
+                    log.debug("前一个数据 pointsRulesName:{},storeName:{}",pointsRulesName,storeName);
+                    log.debug("后一个数据 pointsRulesName:{},storeName:{}",pointsRulesName1,storeName1);
+                    if (pointsRulesName.equals(pointsRulesName1) && storeName.equals(storeName1)){
+                        //都相等
+                        return R.error("导入存在重复数据");
+                    }
+                }
+
+            }
+        }
         StringBuilder stringBuilder = new StringBuilder();
         Integer pointsType = mall2PointsRulesDao.queryRulesDetilId(mkaId);
         if(pointsRulesList.size()>0){
@@ -146,7 +171,7 @@ public class Mall2PointsRulesServiceImpl implements Mall2PointsRulesService {
 
                 List<Mall2RulesDto> mall2RulesDtos = mall2PointsRulesDao.querymall2PointsRulesDetil(query);
                 if (!mall2RulesDtos.isEmpty()){
-                    stringBuilder.append("已存在,无法添加,请进行修改操作");
+                    stringBuilder.append(mall2RulesDto.getPointsRulesName()+"已存在,无法添加,请进行修改操作");
                 }
             }
             if (stringBuilder.length()>0){

+ 3 - 0
kmall-admin/src/main/java/com/kmall/admin/service/mk/MkActivitiesPresentIntegralService.java

@@ -2,6 +2,7 @@ package com.kmall.admin.service.mk;
 
 import com.kmall.admin.entity.mk.MkActivitiesPresentIntegralEntity;
 import com.kmall.common.utils.R;
+import io.swagger.models.auth.In;
 
 import java.util.List;
 import java.util.Map;
@@ -79,4 +80,6 @@ public interface MkActivitiesPresentIntegralService {
      * @return
      */
     List<MkActivitiesPresentIntegralEntity> querySkuByNow(String storeId, String currentTime, String mkaTopic);
+
+    Integer deleteByMkaId(int mkaId);
 }

+ 2 - 1
kmall-admin/src/main/java/com/kmall/admin/service/mk/MkActivityFormService.java

@@ -2,6 +2,7 @@ package com.kmall.admin.service.mk;
 
 import com.kmall.admin.entity.mk.MkActivitiesEntity;
 import com.kmall.admin.entity.mk.MkActivityFormEntity;
+import com.kmall.common.utils.R;
 
 import java.util.List;
 import java.util.Map;
@@ -69,7 +70,7 @@ public interface MkActivityFormService {
      * @param mmIds
      * @return 删除条数
      */
-    int deleteBatch(Long[] mmIds);
+    R deleteBatch(Long[] mmIds);
 
     /**
      * 查询营方式分页总数

+ 6 - 0
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesAssociationDao.xml

@@ -48,6 +48,12 @@
 		<if test="name != null and name.trim() != ''">
 			AND name LIKE concat('%',#{name},'%')
 		</if>
+		<if test="mkCode != null and mkCode != ''">
+			AND mk_code=#{mkCode}
+		</if>
+		<if test="mkaStatus != null and mkaStatus != ''">
+			AND mka_status=#{mkaStatus}
+		</if>
         <choose>
             <when test="sidx != null and sidx.trim() != ''">
                 order by ${sidx} ${order}

+ 8 - 0
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesPresentIntegralDao.xml

@@ -70,6 +70,9 @@
 		<if test="sku != null and sku != ''">
 			AND sku =#{sku}
 		</if>
+		<if test="mkaId != null and mkaId != ''">
+			AND mka_id =#{mkaId}
+		</if>
 		<if test="activityGiveType != null and activityGiveType != ''">
 			AND activity_give_type =#{activityGiveType}
 		</if>
@@ -173,6 +176,11 @@
 			and ma.mka_status = 1
 			and ma.mka_topic = #{mkaTopic}
 	</select>
+	<delete id="deleteByMkaId" parameterType="java.lang.Integer">
+		delete
+		from mk_activities_present_integral
+		where mka_id=#{mkaId}
+	</delete>
 
 
 	<select id="list" parameterType="com.kmall.admin.entity.mk.MkActivitiesPresentIntegralEntity" resultMap="mkActivitiesPresentIntegralMap">

+ 16 - 0
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivityFormDao.xml

@@ -50,6 +50,22 @@
 		</if>
 	</select>
 
+	<select id="listBymmIds" parameterType="java.util.List" resultType="com.kmall.admin.entity.mk.MkActivityFormEntity">
+		select
+    		a.mm_id,
+    		a.mk_name,
+    		a.mk_code,
+    		a.create_time,
+    		a.creater_sn,
+			u.username createrName
+		from mk_activity_form a
+		left join sys_user u on a.creater_sn = u.user_id
+		WHERE mm_id in
+		<foreach item="mmid" collection="array" open="(" separator="," close=")">
+			#{mmid}
+		</foreach>
+	</select>
+
  	<select id="queryTotal" resultType="int">
 		select count(*) from mk_activity_form
 		WHERE 1=1

+ 4 - 4
kmall-admin/src/main/webapp/WEB-INF/page/mk/mall2RulesDetil.html

@@ -19,20 +19,20 @@
                 <i-button @click="query">查询</i-button>
                 <i-button @click="reloadSearch">重置</i-button>
             </div>
-            <div class="buttons-group" style="width: 100%;margin-top: 8px;">
+            <div class="buttons-group" style="width: 100%;margin-top: 8px;" disabled="true">
                 <i-col style="display: inline-grid;">
                     <Upload :show-upload-list="false" :on-success="uploadExcelSuccess" :on-error="uploadExcelError" :on-format-error="uploadExcelFormatError"
                             :format="['xls','xlsx']"
                             action="../mall2pointsrules/rulesUpload" :before-upload="beforeUpload"  :data="uploadData" >
-                        <i-button type="ghost" icon="ios-cloud-upload-outline">导入</i-button>
+                        <i-button id="isDisplay" type="ghost" icon="ios-cloud-upload-outline">导入</i-button>
                     </Upload>
                 </i-col>
                 <a href="../statics/file/mall2RulesDetil_1.0.xlsx">模板下载</a>
             </div>
             <div class="buttons-group">
-<!--                #if($shiro.hasPermission("mall2pointsrulesdetil:save"))-->
+                #if($shiro.hasPermission("mall2pointsrulesdetil:save"))
                 <i-button type="info" @click="add"><i class="fa fa-plus"></i>&nbsp;新增</i-button>
-<!--                #end-->
+                #end
 <!--                #if($shiro.hasPermission("mall2pointsrulesdetil:update"))-->
 <!--                <i-button type="warning" @click="update"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</i-button>-->
 <!--                #end-->

+ 10 - 1
kmall-admin/src/main/webapp/js/mk/mall2RulesDetil.js

@@ -4,6 +4,15 @@ $(function () {
 	if(mkaId){
 		vm.mkaId = mkaId;
 	}
+	// var interval;
+	$("#isDisplay").on("click",function () {
+		$("#isDisplay").attr("disabled","true")
+		// interval = setInterval(function () {
+		// 	$("#isDisplay").removeAttr("disabled")
+		// 	window.clearInterval(interval)
+		// }, 10000);
+	});
+
 	$.ajax({
 		type: "POST",
 		url: "../mall2pointsrules/getRulesDetilId/?mkaId="+vm.mkaId,
@@ -243,6 +252,7 @@ let vm = new Vue({
 			}else{
 				alert(data.msg);
 			}
+			$("#isDisplay").removeAttr("disabled")
 		},
 		uploadExcelError: function () {
 			alert('上传出现异常,请重试!');
@@ -262,7 +272,6 @@ let vm = new Vue({
 				});
 			});
 			return promise; //通过返回一个promis对象解决
-
 		},
 	}
 });

+ 1 - 0
kmall-admin/src/main/webapp/js/mk/mkactivitiespresentintegral.js

@@ -51,6 +51,7 @@ $(function () {
 			{label: '截止日期', name: 'deadline', index: 'deadline', width: 80,align: 'center'},
 			{label: '创建时间', name: 'createTime', index: 'deadline', width: 80,align: 'center'}],
 		viewrecords: true,
+		postData: {'mkaId': vm.mkaId},
         height: 550,
         rowNum: 10,
         rowList: [10, 30, 50],

+ 2 - 0
kmall-admin/src/main/webapp/js/mk/mkactivityform.js

@@ -280,6 +280,8 @@ let vm = new Vue({
 		},
 		del: function (event) {
             let mmIds = getSelectedRows();
+            console.log("mmIds")
+            console.log(mmIds)
 			if (mmIds == null){
 				return;
 			}

+ 34 - 0
kmall-common/src/main/java/com/kmall/common/constant/Dict.java

@@ -2112,4 +2112,38 @@ public class Dict {
         }
     }
 
+    /**
+     * 是否启用,1:启用,0:不启用
+     */
+    public enum mkaStatus{
+        item_1("1", "启用"),
+        item_2("2", "不启用");
+
+        mkaStatus(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        private String item;
+        private String itemName;
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+
+    }
+
 }