幸运24-额外-updateExtraMeta

This commit is contained in:
khalil
2025-06-12 12:31:32 +08:00
parent a81adc0303
commit c87d0d03cb
4 changed files with 24 additions and 4 deletions

View File

@@ -213,6 +213,7 @@ public class Lucky24GiftSendService {
message.setGiftId(record.getGiftId());
message.setGiftGoldPrice(record.getGiftGoldPrice());
message.setGiftNum(record.getGiftNum());
message.setPoolType(record.getPoolType());
message.setPoolId(record.getPoolId());
message.setIsSupplement(record.getIsSupplement());
message.setDrawMultiple(record.getDrawMultiple());

View File

@@ -77,7 +77,7 @@ public class Lucky24ExtraService {
return null;
}
String yesterday = String.valueOf(zdt.minusDays(1L).toInstant().toEpochMilli());
String yesterday = zdt.minusDays(1L).format(DateTimeUtil.dateFormatter);
String lastTwoDayKey = String.join("_", Lucky24UserMetaService.EXTRA_POOL_COUNT, yesterday);
int lastTwoDayCount = userMetaSnapshot.getOrDefault(lastTwoDayKey, 0).intValue();
if (lastTwoDayCount >= extraPoolConfig.getTwoDayCountLimit()){
@@ -96,7 +96,7 @@ public class Lucky24ExtraService {
return null;
}
String todayKey = String.join("_", Lucky24UserMetaService.EXTRA_POOL_COUNT, today);
String todayKey = String.join("_", Lucky24UserMetaService.EXTRA_POOL_COUNT, zdt.format(DateTimeUtil.dateFormatter));
int todayAfter = userMetaMap.addAndGet(todayKey, 1).intValue();
//todo log
@@ -123,6 +123,8 @@ public class Lucky24ExtraService {
settlementService.sendReward(config, senderUid, room, gift, winGoldNum, afterMultiple);
}
userMetaService.updateExtraUserMeta(senderUid, partitionId, everyoneGoldNum, winGoldNum);
//todo log
return recordService.buildRecord(senderUid, partitionId, gift, giftNum, null != room? room.getUid(): null,

View File

@@ -48,8 +48,8 @@ public class Lucky24IncomeAllotService implements LuckyGiftIncomeAllotService {
BigDecimal platformGoldNum = totalValue.multiply(config.getPlatformRatio());
// 额外抽成
BigDecimal extraRatio = null == config.getExtraPoolConfig() || Boolean.TRUE.equals(config.getExtraPoolConfig().getIsOpen())?
BigDecimal.ZERO: config.getExtraPoolConfig().getTodayProductionRatio();
BigDecimal extraRatio = null == config.getExtraPoolConfig() || !Boolean.TRUE.equals(config.getExtraPoolConfig().getIsOpen())?
BigDecimal.ZERO: config.getExtraPoolConfig().getStoreRatio();
BigDecimal extraGoldNum = extraRatio.equals(BigDecimal.ZERO)? BigDecimal.ZERO:
totalValue.multiply(config.getExtraPoolConfig().getStoreRatio());
// 增加库存

View File

@@ -108,6 +108,23 @@ public class Lucky24UserMetaService {
return true;
}
public void updateExtraUserMeta(long senderUid, Integer partitionId, long input, long output) {
RMap<String, Number> userMetaMap = getUserMeta(senderUid);
long times = userMetaMap.addAndGet(TIMES_KEY, 1L).longValue();
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
long todayStartTimeLong = DateTimeUtil.getZonedTodayTime(partitionEnum.getZoneId());
String today = String.valueOf(todayStartTimeLong);
String todayInputKey = String.join("_", today, INPUT_KEY);
long todayInput = userMetaMap.addAndGet(todayInputKey, input).longValue();
String todayOutputKey = String.join("_", today, OUTPUT_KEY);
long todayOutput = userMetaMap.addAndGet(todayOutputKey, output).longValue();
log.info("[Lucky24] updateExtraUserMeta uid {} times {} today {} todayInput {} todayOutput {}",
senderUid, times, todayStartTimeLong, todayInput, todayOutput);
}
public void updateUserMeta(long senderUid, int partitionId, long input, long output) {
RList<Lucky24Result> historyQueue = getUserHistoryQueue(senderUid);
historyQueue.add(0, new Lucky24Result(null, input, output, null));