spins 修复
1. 列表修复 2. 送礼物数量修复 3. 上麦时长修复
This commit is contained in:
parent
1cb37230ea
commit
f1b5d72257
@ -98,7 +98,7 @@ public class SpinsTaskQueryExe {
|
||||
taskCO.setRewardValue(config.getRewardValue());
|
||||
|
||||
if (progress != null) {
|
||||
taskCO.setCurrentValue(progress.getCurrentValue());
|
||||
taskCO.setCurrentValue(Math.min(progress.getCurrentValue(), config.getTargetValue()));
|
||||
taskCO.setTaskStatus(progress.getTaskStatus());
|
||||
taskCO.setProgressRate(progress.getProgressRate());
|
||||
taskCO.setCompleteTime(progress.getCompleteTime());
|
||||
|
||||
@ -743,52 +743,45 @@ public class GiftCountStrategy implements GiftStrategy {
|
||||
private void handleSpinsGiftTask(GiftGiveRunningWater runningWater) {
|
||||
try {
|
||||
Long userId = runningWater.getUserId();
|
||||
|
||||
Integer quantity = runningWater.getGiftValue().getQuantity();
|
||||
|
||||
// 增加用户每日送礼物数量
|
||||
int giftCount = incrementDailyGiftCount(userId);
|
||||
int giftCount = incrementDailyGiftCount(userId, quantity);
|
||||
|
||||
log.info("Spins送礼物任务, userId={}, giftCount={}", userId, giftCount);
|
||||
|
||||
// 处理送礁1个礼物任务
|
||||
if (giftCount >= 1) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_1")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_1")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
|
||||
// 处理送出3个礼物任务
|
||||
if (giftCount >= 3) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_3")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_3")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
|
||||
// 处理送出10个礼物任务
|
||||
if (giftCount >= 10) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_10")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_10")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
|
||||
// 处理送出15个礼物任务
|
||||
if (giftCount >= 15) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_15")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_SEND_GIFT_15")
|
||||
.setProgressValue(giftCount)
|
||||
);
|
||||
|
||||
log.info("Spins送礼物任务处理成功, userId={}, giftCount={}", userId, giftCount);
|
||||
} catch (Exception e) {
|
||||
log.error("处理Spins送礼物任务失败", e);
|
||||
@ -800,17 +793,17 @@ public class GiftCountStrategy implements GiftStrategy {
|
||||
* @param userId 用户ID
|
||||
* @return 当前送礼物数量
|
||||
*/
|
||||
private int incrementDailyGiftCount(Long userId) {
|
||||
private int incrementDailyGiftCount(Long userId, Integer quantity) {
|
||||
String redisKey = "spins:daily:gift:count:" + userId;
|
||||
String countStr = redisService.getString(redisKey);
|
||||
|
||||
if (StringUtils.isBlank(countStr)) {
|
||||
// 计算到凌晨的过期时间(秒)
|
||||
long expireSeconds = DateTimeAsiaRiyadhUtils.getSecondsUntilMidnight();
|
||||
redisService.setString(redisKey, "1", expireSeconds, TimeUnit.SECONDS);
|
||||
return 1;
|
||||
redisService.setString(redisKey, quantity, expireSeconds, TimeUnit.SECONDS);
|
||||
return quantity;
|
||||
} else {
|
||||
Long newCount = redisService.increment(redisKey, 1);
|
||||
Long newCount = redisService.increment(redisKey, quantity);
|
||||
return newCount.intValue();
|
||||
}
|
||||
}
|
||||
|
||||
@ -163,45 +163,37 @@ public class TaskListener implements MessageListener {
|
||||
int micTime = Integer.parseInt(micTimeStr);
|
||||
|
||||
// 处理上麦15分钟任务
|
||||
if (micTime >= 15) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_15_MIN")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_15_MIN")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
|
||||
// 处理上麦30分钟任务
|
||||
if (micTime >= 30) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_30_MIN")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_30_MIN")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
|
||||
// 处理上麦1小时任务
|
||||
if (micTime >= 60) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_1_HOUR")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_1_HOUR")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
|
||||
// 处理上麦2小时任务
|
||||
if (micTime >= 120) {
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_2_HOUR")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
}
|
||||
|
||||
spinsUserTaskProgressService.updateTaskProgress(
|
||||
new SpinsTaskProgressUpdateCmd()
|
||||
.setUserId(userId)
|
||||
.setTaskCode("SPINS_MIC_2_HOUR")
|
||||
.setProgressValue(micTime)
|
||||
);
|
||||
|
||||
log.info("Spins上麦任务进度更新成功, userId={}, micTime={}", userId, micTime);
|
||||
} catch (Exception e) {
|
||||
log.error("处理Spins上麦任务进度失败, userId={}, micTimeStr={}", userId, micTimeStr, e);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user