新增白名单

This commit is contained in:
tianfeng 2025-12-18 18:13:05 +08:00
parent 2891b2d16f
commit 07b0a29d6c

View File

@ -15,12 +15,19 @@ import com.red.circle.other.app.command.activity.RankingRewardGrantCmdExe;
import com.red.circle.other.app.dto.clientobject.sys.ActivityConfigVO;
import com.red.circle.other.app.service.activity.WeekKingQueenService;
import com.red.circle.other.app.util.DistributedLockUtil;
import com.red.circle.other.infra.database.cache.service.other.EnumConfigCacheService;
import com.red.circle.other.inner.enums.config.EnumConfigKey;
import com.red.circle.other.inner.model.dto.sys.EnumConfigDTO;
import com.red.circle.tool.core.collection.CollectionUtils;
import com.red.circle.tool.core.text.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@ -35,6 +42,7 @@ public class GameKingRewardListener implements MessageListener {
private final DistributedLockUtil distributedLockUtil;
private final WeekKingQueenService weekKingQueenService;
private final RankingRewardGrantCmdExe rankingRewardGrantCmdExe;
private final EnumConfigCacheService enumConfigCacheService;
@Override
public Action consume(ConsumerMessage message) {
@ -74,6 +82,12 @@ public class GameKingRewardListener implements MessageListener {
activityType, origin, cycleKey, templateId,
event.getRankingUsers() != null ? event.getRankingUsers().size() : 0);
String whiteConfig = Optional.ofNullable(enumConfigCacheService.getByCode("TEST_UID", origin)).map(EnumConfigDTO::getVal).orElse(null);
List<String> whiteIds = StringUtils.isNotBlank(whiteConfig) ? Arrays.asList(whiteConfig.split(",")) : Collections.emptyList();
event.setRankingUsers(
event.getRankingUsers().stream().filter(e -> whiteIds.contains(String.valueOf(e.getUserId()))).toList()
);
if (CollectionUtils.isEmpty(event.getRankingUsers())) {
log.warn("排名用户列表为空,跳过处理");
return null;