diff --git a/src/public/scheduler/scheduler_clsl.ts b/src/public/scheduler/scheduler_clsl.ts index b068a8b..117fe01 100644 --- a/src/public/scheduler/scheduler_clsl.ts +++ b/src/public/scheduler/scheduler_clsl.ts @@ -1,7 +1,7 @@ -import {PublicShared} from '../../shared/public/public'; -import {EmailFun} from '../email'; -import {RankClslCross} from '../rank/rank_clsl'; -import {Scheduler, schedulerType} from './scheduler'; +import { PublicShared } from '../../shared/public/public'; +import { EmailFun } from '../email'; +import { RankClslCross } from '../rank/rank_clsl'; +import { Scheduler, schedulerType } from './scheduler'; /** * 丛林猎手赛季重置 @@ -26,12 +26,12 @@ export class SchedulerClslLocalCtor extends Scheduler { // 修改clslCrossUser表中的uid为del_uid_week 并且 设置ttltime为当前时间 await G.mongodb.collection('clslCrossUser').updateMany( { - ttltime: {$exists: false} - }, {$rename: {"uid": `del_uid_${week}`}, $set: {"ttltime": new Date()}} + ttltime: { $exists: false } + }, { $rename: { "uid": `del_uid_${week}` }, $set: { "ttltime": new Date() } } ); // 获取分组信息 重置排行榜 - let groups = await G.mongodb.collection('clslCrossGroup').findOne({week}); + let groups = await G.mongodb.collection('clslCrossGroup').findOne({ week }); Object.keys(groups.groups).forEach((group) => { // 清理排行数据 new RankClslCross(group).clear(); @@ -64,7 +64,7 @@ export class SchedulerClslCrossCtor extends Scheduler { async start() { let week = PublicShared.getToWeek(); let users = await G.mongodb.collection('clslCrossUser').find({ - ttltime: {$exists: false} + ttltime: { $exists: false } }, { projection: { "uid": 1, @@ -118,15 +118,15 @@ export class SchedulerClslCrossCtor extends Scheduler { // 更新玩家分组id for (let group in groups) { - await G.mongodb.collection('clslCrossUser').updateMany({uid: {$in: groups[group].users}}, {$set: {group: group}}); + await G.mongodb.collection('clslCrossUser').updateMany({ uid: { $in: groups[group].users } }, { $set: { group: group } }); } // 记录分组 - await G.mongodb.collection("clslCrossGroup").updateOne({week: week}, {$set: {groups: groups}}, {upsert: true}); + await G.mongodb.collection("clslCrossGroup").updateOne({ week: week }, { $set: { groups: groups } }, { upsert: true }); // 初始化丛林猎手排行榜 G.mongodb.collection('clslCrossUser').find({ - allStar: {$gte: this.star}, ttltime: {$exists: false} + allStar: { $gte: this.star }, ttltime: { $exists: false } }).toArray().then(users => { users.forEach(u => { new RankClslCross(u.group).addNew({ @@ -161,7 +161,13 @@ export class SchedulerClslPrize extends Scheduler { async start() { // 排名奖励 let group2users: { [group: string]: string[] } = {}; - (await G.mongodb.collection('clslCrossUser').find({allStar: {$gte: this.star}}).toArray()).forEach(u => { + (await G.mongodb.collection('clslCrossUser').find( + { + uid: { $exists: true }, + allStar: { $gte: this.star } + }, + { sort: { allStar: -1 } } + ).limit(10).toArray()).forEach(u => { if (u.group in group2users) { group2users[u.group].push(u.uid); } else { diff --git a/src/setStartAfther.ts b/src/setStartAfther.ts index 19ebf83..bd0eb16 100644 --- a/src/setStartAfther.ts +++ b/src/setStartAfther.ts @@ -86,8 +86,8 @@ export async function startAfter() { new SchedulerSlzdClean().init(); new SchedulerSlzdPrize().init(); - new SchedulerClslPrize().init(); - new SchedulerClslLocalCtor().init(); + // new SchedulerClslPrize().init(); + // new SchedulerClslLocalCtor().init(); new SchedulerWzryAutoBaoMing().init(); new SchedulerWzryjingcaiSendPrize().init(); new SchedulerWzryendDel().init();