diff --git a/src/api_cross/clsl/ApiUpLoad.ts b/src/api_cross/clsl/ApiUpLoad.ts index a91a9f9..677c596 100644 --- a/src/api_cross/clsl/ApiUpLoad.ts +++ b/src/api_cross/clsl/ApiUpLoad.ts @@ -16,13 +16,28 @@ export default async function (call: ApiCall) { { upsert: true, returnDocument: "after" } )).value; - if (a.group){ // 分完组之后就可以更新排行榜了 + // 周四 并且没有分组 更新玩家分组 + if ((PublicShared.getWeek(G.time) || 7) >= 4 && !a.group) { + // 查询分组数据 + let week = PublicShared.getToWeek(); + let group = await G.mongodb.collection('clslCrossGroup').findOne({ week: week }); + for (let groupid in group.groups) { + let groupinfo = group.groups[groupid]; + if (a.info.player.cTime >= groupinfo.st && a.info.player.cTime < groupinfo.et) { + a.group = groupid; + G.mongodb.collection('clslCrossUser').updateOne({ uid: uid }, { $set: { group: a.group } }); + break; + } + } + } + + if (a.group) { // 分完组之后就可以更新排行榜了 if (allStar != undefined && ops.info) { let rank; if (Rank.list[`clslCross_${a.group}`]) { rank = Rank.list[`clslCross_${a.group}`] } - else{ + else { rank = new RankClslCross(a.group) } rank.addNew({ diff --git a/src/api_s2c/conglinshoulie/ApiOpen.ts b/src/api_s2c/conglinshoulie/ApiOpen.ts index 2457846..7de2df1 100644 --- a/src/api_s2c/conglinshoulie/ApiOpen.ts +++ b/src/api_s2c/conglinshoulie/ApiOpen.ts @@ -22,6 +22,7 @@ export default async function (call: ApiCall) { // 隔周刷新星级 if (ops?.refreshTime < PublicShared.getToWeekMondayZeroTime()) { change.allStar = 0; + change.danPrize = []; change.curMaxStar = 0; } diff --git a/src/public/rank/rank_clsl.ts b/src/public/rank/rank_clsl.ts index 714a3b9..8da05d3 100644 --- a/src/public/rank/rank_clsl.ts +++ b/src/public/rank/rank_clsl.ts @@ -29,7 +29,7 @@ export class RankClslCross extends Rank { async getRankData(uid: string) { let data: rankInfo; - return (await this.db.findOne({ "idKey": uid, "type": this.getType() })).data + return (await this.db.findOne({ "idKey": uid, "type": this.getType() }))?.data } async addNew(info: rankInfo) { diff --git a/src/public/scheduler/scheduler_clsl.ts b/src/public/scheduler/scheduler_clsl.ts index ab256a5..b068a8b 100644 --- a/src/public/scheduler/scheduler_clsl.ts +++ b/src/public/scheduler/scheduler_clsl.ts @@ -125,7 +125,9 @@ export class SchedulerClslCrossCtor extends Scheduler { await G.mongodb.collection("clslCrossGroup").updateOne({week: week}, {$set: {groups: groups}}, {upsert: true}); // 初始化丛林猎手排行榜 - G.mongodb.collection('clslCrossUser').find({allStar: {$gte: this.star}}).toArray().then(users => { + G.mongodb.collection('clslCrossUser').find({ + allStar: {$gte: this.star}, ttltime: {$exists: false} + }).toArray().then(users => { users.forEach(u => { new RankClslCross(u.group).addNew({ valArr: [u.allStar, u.info.player.power],