ep-boom
This commit is contained in:
2025-10-13 13:44:42 +08:00
parent b661e19383
commit 5cedfa6b51
2 changed files with 13 additions and 12 deletions

View File

@@ -111,26 +111,30 @@ public interface RoomBoomConstant {
/**
* 阿拉伯普通100%+lucky5%+Bravo2%
* 土耳其普通100%+lucky5%+Bravo2%
* 语区普通100%+lucky2%+Bravo2%
* 英语2区普通100%+lucky5%+Bravo2%
* 英语区:普通礼物100%+幸运2%
* 土耳其:普通礼物100%+幸运2%
* 语区:普通礼物100%+幸运10%
* @return
*/
BigDecimal NORMAL_GIFT_BOOM_RATE = BigDecimal.valueOf(1.0D);
BigDecimal SUPER_GIFT_BOOM_RATE_AR = BigDecimal.valueOf(0.05D);
BigDecimal SUPER_GIFT_BOOM_RATE_AR = BigDecimal.valueOf(0.01D);
BigDecimal SUPER_GIFT_BOOM_RATE_EN = BigDecimal.valueOf(0.02D);
BigDecimal BRAVO_GIFT_BOOM_RATE_EN = BigDecimal.valueOf(0.02D);
BigDecimal SUPER_GIFT_BOOM_RATE_TR = BigDecimal.valueOf(0.02D);
enum BoomRateStrategy {
DEFAULT((type, partition) -> NORMAL_GIFT_BOOM_RATE),
LUCKY((type, partition) -> {
if (PartitionEnum.ENGLISH.getId() == partition || PartitionEnum.CHINESE.getId() == partition) {
return SUPER_GIFT_BOOM_RATE_EN;
} else if (PartitionEnum.TURKEY.getId() == partition) {
return SUPER_GIFT_BOOM_RATE_TR;
} else if (PartitionEnum.ARAB.getId() == partition) {
return SUPER_GIFT_BOOM_RATE_AR;
} else {
return BigDecimal.ZERO;
}
return SUPER_GIFT_BOOM_RATE_AR;
}),
BRAVO((type, partition) -> BRAVO_GIFT_BOOM_RATE_EN);
BRAVO((type, partition) -> BigDecimal.ZERO);
private final BiFunction<Integer, Integer, BigDecimal> strategy;

View File

@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil;
import com.accompany.business.constant.RoomBoomConstant;
import com.accompany.business.dto.room.RoomBoomPrizeMsgDTO;
import com.accompany.business.message.GiftMessage;
import com.accompany.business.message.SuperLuckyGiftDiamondIncomeMessage;
import com.accompany.business.model.room.RoomBoomLevel;
import com.accompany.business.model.room.RoomBoomLevelAward;
import com.accompany.business.model.room.RoomBoomSign;
@@ -27,7 +26,6 @@ import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.redisson.api.*;
@@ -44,7 +42,6 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -102,7 +99,7 @@ public class RoomBoomBizService {
}
BoomData boomData = extractBoomData(object).orElse(null);
if (boomData == null || boomData.roomUid == null) {
if (boomData == null || boomData.roomUid == null || boomData.addBoomValue.compareTo(0D) <= 0) {
log.info("BoomData empty giftMessage = {}", JSONObject.toJSONString(object));
return;
}