processPendingTasks 优化,

This commit is contained in:
wells
2026-08-09 11:40:04 +08:00
parent ee5f33aba6
commit 2c6f405524
2 changed files with 35 additions and 8 deletions
@@ -16,6 +16,7 @@ import com.tailbet.service.IAuditService;
import com.tailbet.service.IPointsService;
import com.tailbet.service.IRedPacketService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -174,11 +175,19 @@ public class RedPacketServiceImpl implements IRedPacketService {
redPacketMapper.updateById(rp);
// 如果是游戏红包且已领完,发布开奖事件
// 如果是游戏红包且已领完,标记手气王并发布开奖事件
if (isFinished && TYPE_GAME.equals(rp.getType()) && rp.getRoundId() != null) {
// 标记手气王的领取记录 is_lucky=1
if (rp.getLuckyUserId() != null) {
redPacketRecvMapper.update(null, new LambdaUpdateWrapper<RedPacketRecv>()
.eq(RedPacketRecv::getRpId, rpId)
.eq(RedPacketRecv::getUserId, rp.getLuckyUserId())
.set(RedPacketRecv::getIsLucky, 1));
}
eventPublisher.publishEvent(new RedPacketFinishedEvent(
this, rp.getRoundId(), rp.getGroupId(), rp.getId(), rp.getLuckyDigit()));
log.info("游戏红包领完,发布开奖事件: roundId={}, luckyDigit={}", rp.getRoundId(), rp.getLuckyDigit());
log.info("游戏红包领完,标记手气王并发布开奖事件: roundId={}, luckyDigit={}, luckyUserId={}",
rp.getRoundId(), rp.getLuckyDigit(), rp.getLuckyUserId());
}
// 加积分