浏览代码

获取活动用户去重

cup 2 年之前
父节点
当前提交
d5174abc97
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8 4
      mp-quartz/src/main/java/com/qs/mp/quartz/task/MarketingTask.java

+ 8 - 4
mp-quartz/src/main/java/com/qs/mp/quartz/task/MarketingTask.java

@@ -83,10 +83,12 @@ public class MarketingTask {
                 // 开奖
                 marketingService.lottery(marketing);
 
-                // 获取所有的参与用户
+                // 获取所有的参与用户的用户id去重
                 List<MarketingUserCode> userCodeList = marketingUserCodeService.list(new LambdaQueryWrapper<MarketingUserCode>()
+                        .select(MarketingUserCode::getUserId)
                         .eq(MarketingUserCode::getMarketingId, marketing.getId())
-                        .eq(MarketingUserCode::getUserType, UserTypeEnum.ORDINARY.getValue()));
+                        .eq(MarketingUserCode::getUserType, UserTypeEnum.ORDINARY.getValue())
+                        .groupBy(MarketingUserCode::getUserId));
                 for (MarketingUserCode marketingUserCode : userCodeList) {
                     // 发送开奖订阅通知
                     wxSubscribeMessage.sendMarketingLottery(marketingUserCode.getUserId(), marketing);
@@ -117,9 +119,11 @@ public class MarketingTask {
             return;
         }
 
-        // 获取所有参与过活动的普通用户
+        // 获取所有参与过活动的普通用户根据用户id去重
         List<MarketingUserCode> userCodeList = marketingUserCodeService.list(new LambdaQueryWrapper<MarketingUserCode>()
-                .eq(MarketingUserCode::getUserType, UserTypeEnum.ORDINARY.getValue()));
+                .select(MarketingUserCode::getUserId)
+                .eq(MarketingUserCode::getUserType, UserTypeEnum.ORDINARY.getValue())
+                .groupBy(MarketingUserCode::getUserId));
         if (CollectionUtils.isEmpty(userCodeList)) {
             return;
         }