From c8076a7c41d18ce1bcd388203db147f22ababe28 Mon Sep 17 00:00:00 2001 From: Fdily <2949549024@qq.com> Date: Tue, 5 May 2026 11:41:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ApiRollServiceImpl.java | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/skins-service/service-playingmethod/src/main/java/com/ruoyi/playingmethod/service/impl/ApiRollServiceImpl.java b/skins-service/service-playingmethod/src/main/java/com/ruoyi/playingmethod/service/impl/ApiRollServiceImpl.java index 7ac0d03..4c7c1e5 100644 --- a/skins-service/service-playingmethod/src/main/java/com/ruoyi/playingmethod/service/impl/ApiRollServiceImpl.java +++ b/skins-service/service-playingmethod/src/main/java/com/ruoyi/playingmethod/service/impl/ApiRollServiceImpl.java @@ -305,6 +305,7 @@ public class ApiRollServiceImpl extends ServiceImpl implem List list = new LambdaQueryChainWrapper<>(rollUserService.getBaseMapper()) .eq(TtRollUser::getRollId, rollId) .list(); + log.info("【Roll开奖诊断】rollId={} 总参与人数={} 参与人员={}", rollId, list.size(), list); if (ObjectUtil.isEmpty(list) || list.isEmpty()) { ttRoll.setRollStatus(RollStatus.END.getCode()); rollMapper.updateById(ttRoll); @@ -317,9 +318,10 @@ public class ApiRollServiceImpl extends ServiceImpl implem .eq(TtRollUser::getGetPrizeWay, RollGetPrizeWay.SYS.getCode()) .list(); - log.info("所有参与人员" + rollUsers); + log.info("【Roll开奖诊断】rollId={} 系统指定用户数={} 人员={}", rollId, rollUsers.size(), rollUsers); Map surplusPrize = rollSurplusOrnaments(rollUsers, ttRoll); + log.info("【Roll开奖诊断】rollId={} 剩余奖品种类数={} 奖品详情={}", rollId, surplusPrize.size(), surplusPrize); // 3 过滤出未分配奖品的用户(兼容 status 为 NULL 的历史数据) LambdaQueryWrapper rollUserQuery = new LambdaQueryWrapper<>(); @@ -333,26 +335,20 @@ public class ApiRollServiceImpl extends ServiceImpl implem rollUserQuery.notIn(TtRollUser::getId, rollUserIds); } List rollUserList = rollUserService.list(rollUserQuery); + log.info("【Roll开奖诊断】rollId={} 过滤后待开奖用户数={} 人员={}", rollId, rollUserList.size(), rollUserList); // 4 打乱用户顺序 Collections.shuffle(rollUserList); - log.info("过滤系统指定以后" + rollUserList); - // 5 分配奖品、 + // 5 分配奖品 List res = new ArrayList<>(); - - // 一人拿一件 - boolean iGetIt = false; for (TtRollUser rollUser : rollUserList) { - - // if (iGetIt) continue; - Set> entries = surplusPrize.entrySet(); - + boolean awarded = false; for (Map.Entry entry : entries) { - Integer numb = entry.getValue().getOrnamentsNum(); + log.info("【Roll开奖诊断】rollId={} 用户={} 检查奖品 ornamentId={} 剩余数量={}", rollId, rollUser.getNickName(), entry.getKey(), numb); if (numb <= 0) continue; // 等级信息 @@ -374,8 +370,9 @@ public class ApiRollServiceImpl extends ServiceImpl implem .status(IN_PACKSACK_ON.getCode()) .build(); res.add(boxRecords); + awarded = true; - log.info("{}获得{}", rollUser.getNickName(), entry.getValue().getOrnamentName()); + log.info("【Roll开奖诊断】rollId={} 用户={} 获得奖品={}", rollId, rollUser.getNickName(), entry.getValue().getOrnamentName()); // 扣减数量 TtRollJackpotOrnaments value = entry.getValue(); @@ -383,14 +380,16 @@ public class ApiRollServiceImpl extends ServiceImpl implem surplusPrize.put(entry.getKey(), value); break; - } - + if (!awarded) { + log.warn("【Roll开奖诊断】rollId={} 用户={} 未匹配到可用奖品", rollId, rollUser.getNickName()); + } } - log.info("保存开奖结果:" + res); + log.info("【Roll开奖诊断】rollId={} 最终分配结果数={} 结果={}", rollId, res.size(), res); - boxRecordsService.saveBatch(res); + boolean saved = boxRecordsService.saveBatch(res); + log.info("【Roll开奖诊断】rollId={} saveBatch 结果={}", rollId, saved); // ===== 新增:Roll房开奖通知(过滤机器人用户 userType=03)===== TtRoll finalTtRoll = ttRoll;