增加一个用于统计白名单地址所得积分的脚本
This commit is contained in:
parent
1a16228fb8
commit
65689b1395
@ -18,7 +18,7 @@
|
|||||||
"checkredis": "ts-node -r tsconfig-paths/register src/checkredis.ts",
|
"checkredis": "ts-node -r tsconfig-paths/register src/checkredis.ts",
|
||||||
"additem": "ts-node -r tsconfig-paths/register src/addboxdata.ts",
|
"additem": "ts-node -r tsconfig-paths/register src/addboxdata.ts",
|
||||||
"fixdata": "ts-node -r tsconfig-paths/register src/fixdata.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",
|
"taskid": "ts-node -r tsconfig-paths/register src/generateTaskId.ts",
|
||||||
"token": "ts-node -r tsconfig-paths/register src/generateToken.ts",
|
"token": "ts-node -r tsconfig-paths/register src/generateToken.ts",
|
||||||
"ingame": "ts-node -r tsconfig-paths/register src/fixIngame.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