幸运24-额外-updateExtraMeta
This commit is contained in:
@@ -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());
|
||||
|
@@ -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,
|
||||
|
@@ -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());
|
||||
// 增加库存
|
||||
|
@@ -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));
|
||||
|
Reference in New Issue
Block a user