🐞 fix(gvg): gvg遗迹联军奖励领取问题

This commit is contained in:
luying
2023-03-03 10:56:32 +08:00
parent fd71dfbb15
commit f95eeb282b
3 changed files with 11 additions and 11 deletions

View File

@@ -24,14 +24,14 @@ export default class GVGVestigeLeagueRank extends BaseModel {
@prop({ required: true })
rank: number; // 最后的排名每天22点定格
@prop({ required: true })
isReceived: boolean; // 是否领取过
@prop({ required: true, type: String })
receiveMembers: string[]; // 是否领取过
public static async incScore(configId: number, leagueCode: string, groupKey: string, inc: number) {
let today = getZeroPoint();
let result: GVGVestigeLeagueRankType = await GVGVestigeLeagueRankModel.findOneAndUpdate({
day: today, groupKey, leagueCode
}, { $inc: { score: inc }, $set: { configId }, $setOnInsert: { rank: 0, isReceived: false } }, { new: true, upsert: true }).lean();
}, { $inc: { score: inc }, $set: { configId }, $setOnInsert: { rank: 0, receiveMembers: [] } }, { new: true, upsert: true }).lean();
return result;
}
@@ -61,13 +61,13 @@ export default class GVGVestigeLeagueRank extends BaseModel {
return result;
}
public static async getCanReceiveRanks(configId: number, leagueCode: string) {
let result: GVGVestigeLeagueRankType[] = await GVGVestigeLeagueRankModel.find({ configId, leagueCode, rank: { $gt: 0 }, isReceived: false }).lean();
public static async getCanReceiveRanks(configId: number, leagueCode: string, roleId: string) {
let result: GVGVestigeLeagueRankType[] = await GVGVestigeLeagueRankModel.find({ configId, leagueCode, rank: { $gt: 0 }, receiveMembers: { $nin: [roleId] } }).lean();
return result;
}
public static async receiveRanks(_ids: string[]) {
await GVGVestigeLeagueRankModel.updateMany({ _id: { $in: _ids } }, { $set: { isReceived: true } });
public static async receiveRanks(_ids: string[], roleId: string) {
await GVGVestigeLeagueRankModel.updateMany({ _id: { $in: _ids } }, { $push: { receiveMembers: roleId } });
}
}