增加一个用于统计白名单地址所得积分的脚本
This commit is contained in:
parent
1a16228fb8
commit
65689b1395
@ -18,7 +18,7 @@
|
||||
"checkredis": "ts-node -r tsconfig-paths/register src/checkredis.ts",
|
||||
"additem": "ts-node -r tsconfig-paths/register src/addboxdata.ts",
|
||||
"fixdata": "ts-node -r tsconfig-paths/register src/fixdata.ts",
|
||||
"rankquery": "ts-node -r tsconfig-paths/register src/rankquery.ts",
|
||||
"rankquery": "ts-node -r tsconfig-paths/register src/rankquery2.ts",
|
||||
"taskid": "ts-node -r tsconfig-paths/register src/generateTaskId.ts",
|
||||
"token": "ts-node -r tsconfig-paths/register src/generateToken.ts",
|
||||
"ingame": "ts-node -r tsconfig-paths/register src/fixIngame.ts",
|
||||
|
62
src/rankquery2.ts
Normal file
62
src/rankquery2.ts
Normal file
@ -0,0 +1,62 @@
|
||||
import mongoose from 'mongoose'
|
||||
import * as dotenv from 'dotenv'
|
||||
const envFile = process.env.NODE_ENV && process.env.NODE_ENV === 'production' ? `.env.production` : '.env.development'
|
||||
dotenv.config({ path: envFile })
|
||||
console.log(process.env.DB_MAIN)
|
||||
import { ScoreRecord } from 'models/ScoreRecord'
|
||||
import { FixAddress } from 'models/ctrl/FixAddress'
|
||||
import { SCORE_INVITE_REBATE } from 'common/Constants'
|
||||
|
||||
const db = mongoose.connection
|
||||
|
||||
;(async () => {
|
||||
try {
|
||||
let begin = new Date('2024-05-10T00:00:00.000Z')
|
||||
const oneDay = 24 * 60 * 60 * 1000
|
||||
let end = new Date(begin.getTime() + oneDay)
|
||||
let whiteSet = new Set()
|
||||
console.time('address')
|
||||
await FixAddress.find()
|
||||
.cursor()
|
||||
.eachAsync(async doc => {
|
||||
whiteSet.add(doc.user)
|
||||
})
|
||||
console.timeEnd('address')
|
||||
console.time('score')
|
||||
while (end < new Date()) {
|
||||
let scoreTask = 0
|
||||
let scoreShare = 0
|
||||
let scoreWhite = 0
|
||||
await ScoreRecord.find({ $and: [{ createdAt: { $gte: begin } }, { createdAt: { $lt: end } }] })
|
||||
.cursor()
|
||||
.eachAsync(async doc => {
|
||||
if (doc.type === SCORE_INVITE_REBATE) {
|
||||
scoreShare += doc.score
|
||||
} else {
|
||||
scoreTask += doc.score
|
||||
}
|
||||
if (whiteSet.has(doc.user)) {
|
||||
scoreWhite += doc.score
|
||||
}
|
||||
})
|
||||
|
||||
console.log(
|
||||
begin.toLocaleDateString(),
|
||||
'\t',
|
||||
scoreTask + scoreShare,
|
||||
'\t',
|
||||
scoreTask,
|
||||
'\t',
|
||||
scoreShare,
|
||||
'\t',
|
||||
scoreWhite,
|
||||
)
|
||||
begin = end
|
||||
end = new Date(begin.getTime() + oneDay)
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
console.timeEnd('score')
|
||||
process.exit(0)
|
||||
})()
|
Loading…
x
Reference in New Issue
Block a user