Parcourir la source

添加营销方式时,增加限制

zcb il y a 4 ans
Parent
commit
52fae49ecc

+ 4 - 1
kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkActivitiesController.java

@@ -78,7 +78,10 @@ public class MkActivitiesController {
             throw new RRException(r.get("msg").toString());
         }
 
-        mkActivitiesService.save(mkActivities);
+        int save = mkActivitiesService.save(mkActivities);
+        if(save == 0){
+            return R.error("营销方式新增失败,因为已存在同类型的营销方式");
+        }
         return R.ok();
     }
 

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

@@ -2,6 +2,7 @@ package com.kmall.admin.dao.mk;
 
 import com.kmall.admin.entity.mk.MkActivitiesAssociationEntity;
 import com.kmall.manager.dao.BaseDao;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 营销活动-活动关联表Dao
@@ -12,4 +13,5 @@ import com.kmall.manager.dao.BaseDao;
  */
 public interface MkActivitiesAssociationDao extends BaseDao<MkActivitiesAssociationEntity> {
 
+    MkActivitiesAssociationEntity queryByMkCodeAndTopic(@Param("mkCode") String mkCode, @Param("mkaTopic") String mkaTopic, @Param("mkaStoreId") String mkaStoreId);
 }

+ 8 - 2
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/MkActivitiesServiceImpl.java

@@ -51,8 +51,14 @@ public class MkActivitiesServiceImpl implements MkActivitiesService {
     @Transactional
     public int save(MkActivitiesEntity mkActivities) {
 
-        // 先根据营销方式跟mkCode查询是否有
-
+        // 先根据营销方式、门店Id跟mkCode查询是否有
+        String mkCode = mkActivities.getMkCode();
+        String mkaTopic = mkActivities.getMkaTopic();
+        String mkaStoreId = mkActivities.getMkaStoreId();
+        MkActivitiesAssociationEntity mkActivitiesAssociationEntity =  mkActivitiesAssociationDao.queryByMkCodeAndTopic(mkCode,mkaTopic,mkaStoreId);
+        if(mkActivitiesAssociationEntity != null){
+            return 0;
+        }
 
         SysUserEntity user = ShiroUtils.getUserEntity();
 

+ 28 - 5
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesAssociationDao.xml

@@ -60,7 +60,7 @@
 			limit #{offset}, #{limit}
 		</if>
 	</select>
-	
+
  	<select id="queryTotal" resultType="int">
 		select count(*) from mk_activities_association
 		WHERE 1=1
@@ -68,7 +68,28 @@
             AND name LIKE concat('%',#{name},'%')
         </if>
 	</select>
-	 
+	<select id="queryByMkCodeAndTopic" resultType="com.kmall.admin.entity.mk.MkActivitiesAssociationEntity">
+		select
+    		maa.mkaa_id,
+    		maa.mk_code,
+    		maa.mka_id,
+    		maa.mka_store_id,
+    		maa.mka_status,
+    		maa.mka_start_time,
+    		maa.mkd_end_time,
+    		maa.mka_end_early,
+    		maa.mkd_end_early_time
+		from mk_activities_association maa,
+		mk_activities ma
+		<where>
+			maa.mka_id = ma.mka_id
+			and maa.mk_code = #{mkCode}
+			and ma.mka_topic = #{mkaTopic}
+			and  maa.mka_store_id = #{mkaStoreId}
+		</where>
+
+	</select>
+
 	<insert id="save" parameterType="com.kmall.admin.entity.mk.MkActivitiesAssociationEntity" useGeneratedKeys="true" keyProperty="mkaaId">
 		insert into mk_activities_association(
 			`mk_code`,
@@ -110,11 +131,11 @@
 		</set>
 		where mkaa_id = #{mkaaId}
 	</update>
-	
+
 	<delete id="delete">
 		delete from mk_activities_association where mkaa_id = #{value}
 	</delete>
-	
+
 	<delete id="deleteBatch">
 		delete from mk_activities_association where mka_id in
 		<foreach item="mkaId" collection="array" open="(" separator="," close=")">
@@ -122,4 +143,6 @@
 		</foreach>
 	</delete>
 
-</mapper>
+
+
+</mapper>

+ 2 - 2
kmall-admin/src/main/webapp/WEB-INF/page/mk/mkactivityform.html

@@ -73,9 +73,9 @@
     <Card v-show="!showMkactivitiesList">
         <p slot="title">{{title}}</p>
         <i-form ref="formMkactivitiesValidate" :model="mkActivities" :rules="ruleValidate" :label-width="80">
-            <Form-item label="活动主题" prop="mkaTopic">
+            <Form-item label="营销方式" prop="mkaTopic">
 <!--                <i-input v-model="mkActivities.mkaTopic" placeholder="活动主题"/>-->
-                <i-select v-model="mkActivities.mkaTopic" placeholder="活动主题" filterable label-in-value>
+                <i-select v-model="mkActivities.mkaTopic" placeholder="营销方式" filterable label-in-value>
                     <i-option v-for="marketing in marketings" :value="marketing.id"
                               :key="marketing.id">{{marketing.name}}
                     </i-option>

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

@@ -57,7 +57,7 @@ $(function () {
         datatype: "json",
         colModel: [
             {label: 'mkaId', name: 'mkaId', index: 'mka_id', key: true, hidden: true},
-            {label: '活动主题', name: 'mkaTopic', index: 'mka_topic', width: 80, align: 'center',
+            {label: '营销方式', name: 'mkaTopic', index: 'mka_topic', width: 80, align: 'center',
                 formatter:function(value){
                     var mkaTopicName ;
                     if(value === 'lscx')