boom
ep-boom
This commit is contained in:
@@ -111,26 +111,30 @@ public interface RoomBoomConstant {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 阿拉伯:普通100%+lucky5%+Bravo2%
|
* 英语区:普通礼物100%+幸运2%
|
||||||
* 土耳其:普通100%+lucky5%+Bravo2%
|
* 土耳其:普通礼物100%+幸运2%
|
||||||
* 英语区:普通100%+lucky2%+Bravo2%
|
* 阿语区:普通礼物100%+幸运10%
|
||||||
* 英语2区:普通100%+lucky5%+Bravo2%
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
BigDecimal NORMAL_GIFT_BOOM_RATE = BigDecimal.valueOf(1.0D);
|
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 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 {
|
enum BoomRateStrategy {
|
||||||
DEFAULT((type, partition) -> NORMAL_GIFT_BOOM_RATE),
|
DEFAULT((type, partition) -> NORMAL_GIFT_BOOM_RATE),
|
||||||
LUCKY((type, partition) -> {
|
LUCKY((type, partition) -> {
|
||||||
if (PartitionEnum.ENGLISH.getId() == partition || PartitionEnum.CHINESE.getId() == partition) {
|
if (PartitionEnum.ENGLISH.getId() == partition || PartitionEnum.CHINESE.getId() == partition) {
|
||||||
return SUPER_GIFT_BOOM_RATE_EN;
|
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;
|
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.constant.RoomBoomConstant;
|
||||||
import com.accompany.business.dto.room.RoomBoomPrizeMsgDTO;
|
import com.accompany.business.dto.room.RoomBoomPrizeMsgDTO;
|
||||||
import com.accompany.business.message.GiftMessage;
|
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.RoomBoomLevel;
|
||||||
import com.accompany.business.model.room.RoomBoomLevelAward;
|
import com.accompany.business.model.room.RoomBoomLevelAward;
|
||||||
import com.accompany.business.model.room.RoomBoomSign;
|
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.common.collect.Lists;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.redisson.api.*;
|
import org.redisson.api.*;
|
||||||
@@ -44,7 +42,6 @@ import org.springframework.util.CollectionUtils;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.BiFunction;
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -102,7 +99,7 @@ public class RoomBoomBizService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BoomData boomData = extractBoomData(object).orElse(null);
|
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));
|
log.info("BoomData empty giftMessage = {}", JSONObject.toJSONString(object));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user