boom
ep-boom
This commit is contained in:
@@ -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;
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user