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