心动值 幸运礼物和普通礼物分开处理
This commit is contained in:
parent
c46e099f1c
commit
d2f36fc53f
@ -906,20 +906,29 @@ public class GiveGiftsListener implements MessageListener {
|
|||||||
//接受用户id
|
//接受用户id
|
||||||
Set<Long> acceptsUserIds = event.getAccepts().stream()
|
Set<Long> acceptsUserIds = event.getAccepts().stream()
|
||||||
.map(GiveAwayGiftRoomAccepts::getAcceptUserId).collect(Collectors.toSet());
|
.map(GiveAwayGiftRoomAccepts::getAcceptUserId).collect(Collectors.toSet());
|
||||||
|
|
||||||
// 幸运礼物比例
|
|
||||||
BigDecimal luckyGiftRatio = gameLuckyGiftCommon.getLuckyGiftTargetRatio(event.getSysOrigin().name());
|
|
||||||
|
|
||||||
//总的心动值
|
|
||||||
BigDecimal amountTotal = event.countSingleGiftGolds().multiply(luckyGiftRatio);
|
|
||||||
|
|
||||||
//先获取房间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 -> {
|
||||||
LiveHeartbeatCache liveHeartbeatCache = new LiveHeartbeatCache();
|
|
||||||
|
|
||||||
|
// 礼物比例
|
||||||
|
BigDecimal giftRatio;
|
||||||
|
if (event.checkLuckyGift()) {
|
||||||
|
// 幸运礼物比例
|
||||||
|
giftRatio = gameLuckyGiftCommon.getLuckyGiftTargetRatio(event.getSysOrigin().name());
|
||||||
|
} else {
|
||||||
|
RegionConfig acceptRegion = getUserRegion(userId);
|
||||||
|
giftRatio = Objects.equals(event.getSendUserId(), userId) ?
|
||||||
|
getAssistGiftToOwnGoldRatio(acceptRegion.getId()) :
|
||||||
|
getAssistGiftToOtherGoldRatio(acceptRegion.getId());
|
||||||
|
}
|
||||||
|
//总的心动值
|
||||||
|
BigDecimal amountTotal = event.countSingleGiftGolds().multiply(giftRatio);
|
||||||
|
|
||||||
|
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)) ? liveHeartbeatCacheMap.get(userId)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user