fix:
丛林猎手优化
This commit is contained in:
parent
c8f9d0c7d7
commit
b45eec43f9
@ -16,13 +16,28 @@ export default async function (call: ApiCall<ReqUpLoad, ResUpLoad>) {
|
||||
{ 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({
|
||||
|
@ -22,6 +22,7 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
// 隔周刷新星级
|
||||
if (ops?.refreshTime < PublicShared.getToWeekMondayZeroTime()) {
|
||||
change.allStar = 0;
|
||||
change.danPrize = [];
|
||||
change.curMaxStar = 0;
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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],
|
||||
|
Loading…
Reference in New Issue
Block a user