Merge remote-tracking branch 'origin/bugfix' into bugfix

This commit is contained in:
yushunrui 2024-01-12 23:13:23 +08:00
commit 8c86b05fe1
2 changed files with 20 additions and 14 deletions

View File

@ -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 {

View File

@ -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();