🐞 fix(稷下学宫): 每周奖励,处理首次周结算

This commit is contained in:
zhangxk
2023-09-20 11:05:46 +08:00
parent 3c5eb45fd8
commit ecd15628af

View File

@@ -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);
}