幸运礼物第一次赠送进度不显示调整

This commit is contained in:
tianfeng 2025-11-21 12:14:32 +08:00
parent 770a46b889
commit ff7e5c04f8

View File

@ -266,21 +266,25 @@ public class TaskListener implements MessageListener {
private void handleTask8(TaskApprovalEvent eventBody) {
log.warn("处理任务-8 发送10个幸运礼物: {}", eventBody);
// 增加幸运礼物发送次数不设置过期时间
String redisKey = "task:lucky-gift:count:" + eventBody.getUserId();
String countStr = redisService.getString(redisKey);
String redisKey = "task:lucky-gift:count:" + eventBody.getUserId();
int num = eventBody.getQuantity() == null ? 1 : eventBody.getQuantity();
if (StringUtils.isEmpty(countStr)) {
// 获取当前计数
String countStr = redisService.getString(redisKey);
int currentCount = StringUtils.isEmpty(countStr) ? 0 : Integer.parseInt(countStr);
// 计算新的计数值
int newCount = currentCount + num;
// 更新任务进度
eventBody.setTargetValue(10);
eventBody.setCompleteValue(Math.min(newCount, 10));
boolean updated = updateTaskStatus(eventBody);
// 只有任务状态更新成功才更新 Redis
if (updated) {
redisService.increment(redisKey, num);
} else {
int result = Integer.parseInt(countStr) + num;
eventBody.setTargetValue(10);
eventBody.setCompleteValue(Math.min(result, 10));
boolean updated = updateTaskStatus(eventBody);
if (updated) {
redisService.increment(redisKey, 1);
}
}
}