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", "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",
"test:watch": "jest --watch", "test:watch": "jest --watch",
"test": "jest" "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 () => { ;(async () => {
try { try {
let beginBlocktime = 1713583747 let beginBlocktime = 1713583747
// for await (const doc of User.find().cursor()) { // for await (const doc of User.find().cursor()) {
// console.log(doc.name); // console.log(doc.name);
// } // }
let idx = 0 await FixAddress.find().cursor().eachAsync(parseOneAddress)
await CheckIn.find({ blockTime: { $gt: beginBlocktime } }) // await CheckIn.find({ blockTime: { $gt: beginBlocktime } })
.sort({ _id: 1 }) // .sort({ _id: 1 })
.cursor() // .cursor()
.eachAsync(parseOneRecord) // .eachAsync(parseOneRecord)
console.log('done', idx) // console.log('done', idx)
// await dbMain.collection('test1').insertOne({ name: 'test' }) // await dbMain.collection('test1').insertOne({ name: 'test' })
// await dbChain.collection('test2').insertOne({ name: 'test' }) // await dbChain.collection('test2').insertOne({ name: 'test' })
} catch (e) { } catch (e) {

View File

@ -5,6 +5,7 @@ import { BaseModule } from '../Base'
@dbconn('ctrl') @dbconn('ctrl')
// case insensitive unique index // case insensitive unique index
@index({ address: 1 }, { unique: true, collation: { locale: 'en', strength: 2 } }) @index({ address: 1 }, { unique: true, collation: { locale: 'en', strength: 2 } })
@index({ user: 1 }, { unique: true, partialFilterExpression: { user: { $exists: true } } })
@modelOptions({ @modelOptions({
schemaOptions: { collection: 'fix_addresses', timestamps: false, _id: false, strict: 'throw', versionKey: false }, schemaOptions: { collection: 'fix_addresses', timestamps: false, _id: false, strict: 'throw', versionKey: false },
}) })
@ -12,6 +13,9 @@ export class FixAddressClass extends BaseModule {
@prop({ required: true }) @prop({ required: true })
public address: string public address: string
@prop()
public user: string
public static async checkExist(address: string): Promise<boolean> { public static async checkExist(address: string): Promise<boolean> {
let record = await FixAddress.findOne({ address }).collation({ locale: 'en', strength: 2 }) let record = await FixAddress.findOne({ address }).collation({ locale: 'en', strength: 2 })
return !!record return !!record

View File

@ -59,7 +59,15 @@ const db = mongoose.connection
}, },
{ $group: { _id: null, count: { $sum: '$score' } } }, { $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 begin = end
end = new Date(begin.getTime() + oneDay) end = new Date(begin.getTime() + oneDay)
} }