脚本文件
This commit is contained in:
xcy 2023-12-20 15:20:16 +08:00
parent fb7684326e
commit 276ca85bc3
3 changed files with 97 additions and 20 deletions

22
src/patch_email_find.ts Normal file
View File

@ -0,0 +1,22 @@
import {initMongoDB} from "./setMongodb";
import {ctor} from "./global";
async function start() {
await initMongoDB();
let emails = await G.mongodb.collection("email").find({
title: {$regex: "wzry"}
}).toArray();
for (let i = 0; i < emails.length; i++) {
console.log();
}
}
ctor();
start().then(() => {
setInterval(() => {
console.log(new Date().format("MM-dd hh:mm:ss"));
}, 1000)
console.log("逻辑执行完成...等待退出!!!");
});

43
src/path_20231220.ts Normal file
View File

@ -0,0 +1,43 @@
import {ctor} from "./global";
import {initMongoDB} from "./setMongodb";
async function start() {
await initMongoDB()
let datas = await G.mongodb.collection("event").find(
{type: {$in: ["yangchengmubiao100", "yangchengmubiao101"]}}
).toArray();
for (let i = 0; i < datas.length; i++) {
let add = 0;
let data = datas[i];
if (!Array.isArray(data.taskval)) continue;
let taskval: { [taskid: string]: number } = {};
for (let i = 0; i < data.taskval.length; i++) {
if (data.taskval[i] === null) continue;
if (typeof data.taskval[i] == "number") {
add = data.taskval[i];
} else {
taskval = Object.assign(taskval, data.taskval[i]);
}
}
for (let taskid in taskval) {
taskval[taskid] = (taskval[taskid] || 0) + add;
}
await G.mongodb.collection("event").updateOne(
{uid: data.uid, type: data.type}, {$set: {taskval: taskval}}
)
console.log(`修复玩家${data.uid}人才计划数据完成...`);
}
}
ctor();
start().then(() => {
setInterval(() => {
console.log(new Date().format("MM-dd hh:mm:ss"));
}, 1000)
console.log("逻辑执行完成...等待退出!!!");
});

View File

@ -1,35 +1,47 @@
import {MongoClient} from "mongodb";
import * as ramda from 'ramda'
import fs from "fs"; import fs from "fs";
import {MongoClient} from "mongodb";
let R = ramda
async function start() { async function start() {
let mongodbUrl = "mongodb://blacklagoon:lffu2bD%5eGn2%5eE%2bE7@blacklagoon-mongo-secondary.pro.g123-cpp.com:3717,blacklagoon-mongo-primary.pro.g123-cpp.com:3717?replicaSet=mgset-351738825"
//连接mongodb //连接mongodb
let client = await MongoClient.connect('mongodbUrl'); let client = await MongoClient.connect(mongodbUrl);
console.log('链接成功') console.log('链接成功');
let a: any = {} let user2email: { [uid: string]: { [title: string]: { prize: any, get_num: number, unget_num: number } } } = {};
for (let i = 1; i < 49; i++) {
for (let i = 1; i < 20; i++) {
let dbName = `blacklagoon_s${i}` let dbName = `blacklagoon_s${i}`
console.log(dbName) console.log(dbName)
let mongodb = client.db(dbName);
a[dbName] = {};
(await mongodb.collection('email').find({type: 'gm', uid: 'system'}).toArray()).map(i => {
a[dbName][i.title] = R.compose(R.map(i => ({[i[0]]: i.length})), R.values, R.filter(i => i.length > 1), R.groupBy(i => i))(i.prizelist)
console.log(a[dbName][i.title])
})
console.log(dbName, '查询完成')
}
fs.writeFileSync('tab.json', JSON.stringify(a, null, 2)) let mongodb = client.db(dbName);
let emails = await mongodb.collection("email").find({
title: {$regex: "wzry"}
}).toArray();
for (let i = 0; i < emails.length; i++) {
let email = emails[i];
if (!email.prizeData?.prize) continue;
if (!user2email[email.uid]) {
user2email[email.uid] = {};
}
if (!user2email[email.uid][email.title]) {
user2email[email.uid][email.title] = {
prize: email.prizeData.prize,
get_num: 0,
unget_num: 0,
}
}
if (email.prizeData.isGet) {
user2email[email.uid][email.title].get_num += 1;
} else {
user2email[email.uid][email.title].unget_num += 1;
}
}
}
fs.writeFileSync('email.json', JSON.stringify(user2email, null, 2))
} }
//定义全局变量
// ctor();
//启动服务
start().then(() => { start().then(() => {
process.exit() process.exit()
}); });