1
0
Quellcode durchsuchen

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

王超群 vor 3 Jahren
Ursprung
Commit
1bd09f9133

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

@@ -1,6 +1,7 @@
 package com.kmall.admin.dao.mk;
 
 
+import com.kmall.admin.entity.mk.MkActivitiesPresentIntegralEntity;
 import com.kmall.admin.entity.mk.MkActivitiesScoreEntity;
 import com.kmall.manager.dao.BaseDao;
 import org.apache.ibatis.annotations.Param;
@@ -30,4 +31,13 @@ public interface MkActivitiesScoreDao extends BaseDao<MkActivitiesScoreEntity> {
     List<MkActivitiesScoreEntity> queryActivityInfoByMkaIdList(List<Long> mkaIdList);
 
     void deleteBatchByMkaId(@Param("mkaId") int mkaId);
+
+    /**
+     * 根据门店id和当前时间和活动类型查询有那些sku参加了积分抵扣活动
+     * @param storeId
+     * @param currentTime
+     * @param mkaTopic
+     * @return
+     */
+    List<MkActivitiesScoreEntity> querySkuByNow(@Param("storeId") String storeId, @Param("currentTime")String currentTime, @Param("mkaTopic")String mkaTopic);
 }

+ 7 - 7
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -2669,16 +2669,16 @@ public class OrderServiceImpl implements OrderService {
                                     , mkActivitiesPresentIntegralEntity -> mkActivitiesPresentIntegralEntity, (k1, k2) -> k2));
                 }
                 // JFDK活动
-                Map<String, MkActivitiesPresentIntegralEntity> jfdkActivitiesEntityMap = new HashMap<>();
+                Map<String, MkActivitiesScoreEntity> jfdkActivitiesEntityMap = new HashMap<>();
                 // 查询积分抵扣活动  用于判断是否与赠送积分活动互斥
-                List<MkActivitiesPresentIntegralEntity> jfdkActivitiesEntityList = mkActivitiesPresentIntegralService.querySkuByNow(store.getId().toString(), DateUtils.format(new Date()
+                List<MkActivitiesScoreEntity> jfdkActivitiesEntityList = mkActivitiesScoreService.querySkuByNow(store.getId().toString(), DateUtils.format(new Date()
                         , "yyyy-MM-dd HH:mm:ss")
                         , Constants.ActivityTopicEnum.JFDK.getTopicCode());
-                if(!CollectionUtils.isEmpty(mkActivitiesEntityList) && mkActivitiesEntityList.size() > 0){
+                if(!CollectionUtils.isEmpty(jfdkActivitiesEntityList) && jfdkActivitiesEntityList.size() > 0){
                     // 不为空 则处理
                     jfdkActivitiesEntityMap = jfdkActivitiesEntityList.stream()
-                            .collect(Collectors.toMap(MkActivitiesPresentIntegralEntity::getSku
-                                    , mkActivitiesPresentIntegralEntity -> mkActivitiesPresentIntegralEntity, (k1, k2) -> k2));
+                            .collect(Collectors.toMap(MkActivitiesScoreEntity::getSku
+                                    , mkActivitiesScoreEntity -> mkActivitiesScoreEntity, (k1, k2) -> k2));
                 }
 
                 // 订单全部的sku
@@ -2916,7 +2916,7 @@ public class OrderServiceImpl implements OrderService {
      * @param sku
      */
     private void getGiftScore(AtomicReference<Integer> activityGiftScore, BigDecimal baseScore
-            , Map<String, MkActivitiesPresentIntegralEntity> zsjfActivitiesEntityMap , Map<String, MkActivitiesPresentIntegralEntity> jfdkActivitiesEntityMap, String sku, OrderGiftScoreRulesVo orderGiftScoreRulesVo,Integer number) {
+            , Map<String, MkActivitiesPresentIntegralEntity> zsjfActivitiesEntityMap , Map<String, MkActivitiesScoreEntity> jfdkActivitiesEntityMap, String sku, OrderGiftScoreRulesVo orderGiftScoreRulesVo,Integer number) {
         if(zsjfActivitiesEntityMap.containsKey(sku)){
 
             // 存在表示它参加赠送积分活动
@@ -2927,7 +2927,7 @@ public class OrderServiceImpl implements OrderService {
             if(Constants.PromotionActivityRejectEnum.REJECT.getCode()
                     .equals(mkActivitiesPresentIntegralEntity.getRejectScore())){
                 // 设置为互斥 则要查询这个sku是否有参与积分抵扣活动  如果有 则直接返回不赠送积分 如果没有
-                MkActivitiesPresentIntegralEntity jfdkActivities = jfdkActivitiesEntityMap.get(sku);
+                MkActivitiesScoreEntity jfdkActivities = jfdkActivitiesEntityMap.get(sku);
                 if(!Objects.isNull(jfdkActivities)){
                     // 不为空表示参与了积分抵扣 又互斥 则不进行积分赠送
                     return;

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

@@ -183,4 +183,18 @@ public class MkActivitiesScoreServiceImpl implements MkActivitiesScoreService {
     public List<MkActivitiesScoreEntity> queryActivityInfoByMkaIdList(List<Long> mkaIdList) {
         return mkActivitiesScoreDao.queryActivityInfoByMkaIdList(mkaIdList);
     }
+
+    /**
+     * 根据门店id和当前时间和活动类型查询有那些sku参加了积分抵扣活动
+     *
+     * @param storeId
+     * @param currentTime
+     * @param mkaTopic
+     * @return
+     */
+    @Override
+    public List<MkActivitiesScoreEntity> querySkuByNow(String storeId, String currentTime, String mkaTopic) {
+
+        return mkActivitiesScoreDao.querySkuByNow(storeId,currentTime,mkaTopic);
+    }
 }

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

@@ -2,6 +2,7 @@ package com.kmall.admin.service.mk;
 
 
 import com.kmall.admin.dto.ScoreReductionDTO;
+import com.kmall.admin.entity.mk.MkActivitiesPresentIntegralEntity;
 import com.kmall.admin.entity.mk.MkActivitiesScoreEntity;
 
 import java.util.Date;
@@ -104,4 +105,13 @@ public interface MkActivitiesScoreService {
      * @return          活动
      */
     List<MkActivitiesScoreEntity> queryActivityInfoByMkaIdList(List<Long> mkaIdList);
+
+    /**
+     * 根据门店id和当前时间和活动类型查询有那些sku参加了积分抵扣活动
+     * @param storeId
+     * @param currentTime
+     * @param mkaTopic
+     * @return
+     */
+    List<MkActivitiesScoreEntity> querySkuByNow(String storeId, String currentTime, String mkaTopic);
 }

+ 12 - 1
kmall-admin/src/main/resources/mybatis/mapper/mk/MkActivitiesScoreDao.xml

@@ -188,5 +188,16 @@
     <delete id="deleteBatchByMkaId">
 		delete from mk_activities_score where mka_id = #{mkaId}
 	</delete>
-
+	<select id="querySkuByNow" resultMap="mkActivitiesScoreMap">
+		select
+			mapi.*
+		from mk_activities_score mapi
+		left join mk_activities ma on ma.mka_id = mapi.mka_id
+		where
+			ma.mka_store_id = #{storeId}
+			and ma.mka_start_time &lt; #{currentTime}
+			and ma.mkd_end_time &gt; #{currentTime}
+			and ma.mka_status = 1
+			and ma.mka_topic = #{mkaTopic}
+	</select>
 </mapper>