From 20e14c931a4453ecde50f2d29cb548a4c06f1298 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Wed, 22 May 2024 18:01:42 +0800 Subject: [PATCH] update fixdata script --- package.json | 1 + src/fixdata.ts | 25 +++++++++++++++++++------ src/models/ctrl/FixAddress.ts | 4 ++++ src/rankquery.ts | 10 +++++++++- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 6d15656..74bab3a 100644 --- a/package.json +++ b/package.json @@ -18,6 +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", "test:watch": "jest --watch", "test": "jest" }, diff --git a/src/fixdata.ts b/src/fixdata.ts index 4c36b5b..831c885 100644 --- a/src/fixdata.ts +++ b/src/fixdata.ts @@ -50,18 +50,31 @@ const parseOneRecord = async (record: any) => { // 插入签到记录 } +const parseOneAddress = async (record: any) => { + let addressLower = record.address.toLowerCase() + let addressEip55 = toEIP55(addressLower) + + console.log('parseOneAddress', addressEip55) + const user = await dbMain.collection('activity_user').findOne({ address: addressEip55, activity: ACTIVITY }) + if (user) { + record.user = user._id + await record.save() + return + } +} + ;(async () => { try { let beginBlocktime = 1713583747 // for await (const doc of User.find().cursor()) { // console.log(doc.name); // } - let idx = 0 - await CheckIn.find({ blockTime: { $gt: beginBlocktime } }) - .sort({ _id: 1 }) - .cursor() - .eachAsync(parseOneRecord) - console.log('done', idx) + await FixAddress.find().cursor().eachAsync(parseOneAddress) + // await CheckIn.find({ blockTime: { $gt: beginBlocktime } }) + // .sort({ _id: 1 }) + // .cursor() + // .eachAsync(parseOneRecord) + // console.log('done', idx) // await dbMain.collection('test1').insertOne({ name: 'test' }) // await dbChain.collection('test2').insertOne({ name: 'test' }) } catch (e) { diff --git a/src/models/ctrl/FixAddress.ts b/src/models/ctrl/FixAddress.ts index 2ffe40e..3b1e5d4 100644 --- a/src/models/ctrl/FixAddress.ts +++ b/src/models/ctrl/FixAddress.ts @@ -5,6 +5,7 @@ import { BaseModule } from '../Base' @dbconn('ctrl') // case insensitive unique index @index({ address: 1 }, { unique: true, collation: { locale: 'en', strength: 2 } }) +@index({ user: 1 }, { unique: true, partialFilterExpression: { user: { $exists: true } } }) @modelOptions({ schemaOptions: { collection: 'fix_addresses', timestamps: false, _id: false, strict: 'throw', versionKey: false }, }) @@ -12,6 +13,9 @@ export class FixAddressClass extends BaseModule { @prop({ required: true }) public address: string + @prop() + public user: string + public static async checkExist(address: string): Promise { let record = await FixAddress.findOne({ address }).collation({ locale: 'en', strength: 2 }) return !!record diff --git a/src/rankquery.ts b/src/rankquery.ts index 24fd4a1..acf4681 100644 --- a/src/rankquery.ts +++ b/src/rankquery.ts @@ -59,7 +59,15 @@ const db = mongoose.connection }, { $group: { _id: null, count: { $sum: '$score' } } }, ]) - console.log(begin, '\t', record[0].count + record2[0].count, '\t', record[0].count, '\t', record2[0].count) + console.log( + begin.toLocaleDateString(), + '\t', + record[0].count + record2[0].count, + '\t', + record[0].count, + '\t', + record2[0].count, + ) begin = end end = new Date(begin.getTime() + oneDay) }