魅力值处理
This commit is contained in:
parent
3fc79799d5
commit
5676085e91
@ -783,25 +783,21 @@ public class GiveGiftsListener implements MessageListener {
|
|||||||
//先获取房间redis值
|
//先获取房间redis值
|
||||||
List<LiveHeartbeatCache> liveHeartbeatCaches = liveHeartbeatCacheService.listLiveHeartbeat(
|
List<LiveHeartbeatCache> liveHeartbeatCaches = liveHeartbeatCacheService.listLiveHeartbeat(
|
||||||
event.getRoomId());
|
event.getRoomId());
|
||||||
//组装一下心动值数据 key 用户id
|
//组装一下魅力值数据 key 用户id
|
||||||
Map<Long, LiveHeartbeatCache> liveHeartbeatCacheMap = getLiveHeartbeatCacheMap(liveHeartbeatCaches);
|
Map<Long, LiveHeartbeatCache> liveHeartbeatCacheMap = getLiveHeartbeatCacheMap(liveHeartbeatCaches);
|
||||||
Map<Long, LiveHeartbeatCache> cacheMap = acceptsUserIds.stream().map(userId -> {
|
Map<Long, LiveHeartbeatCache> cacheMap = acceptsUserIds.stream().map(userId -> {
|
||||||
|
|
||||||
|
|
||||||
// 礼物比例
|
// 礼物比例
|
||||||
BigDecimal giftRatio = BigDecimal.valueOf(1L);
|
BigDecimal giftRatio = calcGiftRatio(event);
|
||||||
if (event.checkLuckyGift()) {
|
//总的魅力值
|
||||||
// 幸运礼物比例
|
BigDecimal amountTotal = event.countSingleGiftGolds().multiply(giftRatio);
|
||||||
giftRatio = gameLuckyGiftCommon.getLuckyGiftTargetRatio(event.getSysOrigin().name());
|
|
||||||
}
|
|
||||||
//总的心动值
|
|
||||||
BigDecimal amountTotal = event.countSingleGiftGolds().multiply(giftRatio);
|
|
||||||
|
|
||||||
LiveHeartbeatCache liveHeartbeatCache = new LiveHeartbeatCache();
|
LiveHeartbeatCache liveHeartbeatCache = new LiveHeartbeatCache();
|
||||||
liveHeartbeatCache.setId(userId);
|
liveHeartbeatCache.setId(userId);
|
||||||
liveHeartbeatCache.setHeartbeatVal(getHeartbeatTotal(amountTotal,
|
liveHeartbeatCache.setHeartbeatVal(getHeartbeatTotal(amountTotal,
|
||||||
Objects.nonNull(liveHeartbeatCacheMap.get(userId)) ? liveHeartbeatCacheMap.get(userId)
|
Objects.nonNull(liveHeartbeatCacheMap.get(userId)) ?
|
||||||
.getHeartbeatVal() : null));
|
liveHeartbeatCacheMap.get(userId).getHeartbeatVal() : null));
|
||||||
return liveHeartbeatCache;
|
return liveHeartbeatCache;
|
||||||
}).collect(Collectors.toMap(LiveHeartbeatCache::getId, v -> v));
|
}).collect(Collectors.toMap(LiveHeartbeatCache::getId, v -> v));
|
||||||
liveHeartbeatCacheMap.putAll(cacheMap);
|
liveHeartbeatCacheMap.putAll(cacheMap);
|
||||||
@ -810,6 +806,18 @@ public class GiveGiftsListener implements MessageListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BigDecimal calcGiftRatio(GiveAwayGiftBatchEvent event) {
|
||||||
|
if (event.checkLuckyGift()) {
|
||||||
|
// 幸运礼物比例
|
||||||
|
return gameLuckyGiftCommon.getLuckyGiftTargetRatio(event.getSysOrigin().name());
|
||||||
|
}
|
||||||
|
if (event.checkCpGift()) {
|
||||||
|
return getAssistCpGiftGoldRatio("").multiply(new BigDecimal("10").max(new BigDecimal("0.7")));
|
||||||
|
}
|
||||||
|
|
||||||
|
return BigDecimal.valueOf(1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private Map<Long,LiveHeartbeatCache> getLiveHeartbeatCacheMap(List<LiveHeartbeatCache> list) {
|
private Map<Long,LiveHeartbeatCache> getLiveHeartbeatCacheMap(List<LiveHeartbeatCache> list) {
|
||||||
return Optional.ofNullable(
|
return Optional.ofNullable(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user