🐞 fix(稷下学宫): 每周奖励,处理首次周结算
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user