From ecd15628af3d8c09c68a6adb7bbb1d3491b5fe44 Mon Sep 17 00:00:00 2001 From: zhangxk Date: Wed, 20 Sep 2023 11:05:46 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=E7=A8=B7=E4=B8=8B=E5=AD=A6?= =?UTF-8?q?=E5=AE=AB):=20=E6=AF=8F=E5=91=A8=E5=A5=96=E5=8A=B1=EF=BC=8C?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=A6=96=E6=AC=A1=E5=91=A8=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/battle/rougeService.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/game-server/app/services/battle/rougeService.ts b/game-server/app/services/battle/rougeService.ts index 23bdc68ba..f2500ccd8 100644 --- a/game-server/app/services/battle/rougeService.ts +++ b/game-server/app/services/battle/rougeService.ts @@ -930,15 +930,18 @@ export async function repaireSendScoreReward() { const roleIds = allRewards.map(cur => { return cur.roleId }); const lastMaxLvMap = await RougelikeExtendModel.getLastMaxLvMap(roleIds); for (let { roleId, received, score, receiveNum } of allRewards) { - if (!lastMaxLvMap.has(roleId)) continue; + let lastMaxLv = lastMaxLvMap.get(roleId) ? lastMaxLvMap.get(roleId) : 1; let goods: RewardInter[] = []; - const rougeScoreRewardByLvData = gameData.rougeScoreRewardByLv.get(lastMaxLvMap.get(roleId)); + const rougeScoreRewardByLvData = gameData.rougeScoreRewardByLv.get(lastMaxLv); if (receiveNum >= rougeScoreRewardByLvData.size) continue; for (let [index, { reward, score: targetScore }] of rougeScoreRewardByLvData) { - if (score >= targetScore && !received.includes(index)) { goods.push(...reward); } + if (score >= targetScore && !received.includes(index)) { + goods.push(...reward); + received.push(index); + } } await sendMailByContent(MAIL_TYPE.ROUGE_SCORE_REPAIRE, roleId, { goods }); - updateArr.push({ roleId, refTime, receiveNum: rougeScoreRewardByLvData.size }); + updateArr.push({ roleId, refTime, receiveNum: rougeScoreRewardByLvData.size, received }); } await RougelikeScoreModel.bulkWriteUpdate(updateArr); }