update fixdata script

This commit is contained in:
CounterFire2023 2024-05-22 18:01:42 +08:00
parent 6a7c3827d4
commit 20e14c931a
4 changed files with 33 additions and 7 deletions

View File

@ -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"
},

View File

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

View File

@ -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<boolean> {
let record = await FixAddress.findOne({ address }).collation({ locale: 'en', strength: 2 })
return !!record

View File

@ -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)
}