83 lines
2.9 KiB
JavaScript
83 lines
2.9 KiB
JavaScript
|
|
// Скрипт для выдачи рефералов и билетов по username
|
|||
|
|
// Использование:
|
|||
|
|
// var username = "USERNAME";
|
|||
|
|
// load('backend/scripts/giveReferrals.mongosh.js')
|
|||
|
|
|
|||
|
|
// ============================================
|
|||
|
|
// ВАРИАНТ 1: УКАЗАТЬ USERNAME В СКРИПТЕ
|
|||
|
|
// ============================================
|
|||
|
|
var username = "ЗАМЕНИТЕ_НА_USERNAME";
|
|||
|
|
|
|||
|
|
var user = db.users.findOne({ username: username });
|
|||
|
|
|
|||
|
|
if (!user) {
|
|||
|
|
print("❌ Пользователь с username '" + username + "' не найден!");
|
|||
|
|
} else {
|
|||
|
|
print("👤 Пользователь: " + user.username + " (ID: " + user._id + ")");
|
|||
|
|
print(" Текущий счетчик рефералов: " + (user.referralsCount || 0));
|
|||
|
|
print(" Текущие билеты: " + (user.tickets || 0));
|
|||
|
|
|
|||
|
|
// Увеличить счетчик рефералов на 2
|
|||
|
|
var newReferralsCount = (user.referralsCount || 0) + 2;
|
|||
|
|
|
|||
|
|
// Увеличить билеты: 100 билетов за каждого реферала (2 реферала = 200 билетов)
|
|||
|
|
var newTickets = (user.tickets || 0) + (2 * 100);
|
|||
|
|
|
|||
|
|
var result = db.users.updateOne(
|
|||
|
|
{ _id: user._id },
|
|||
|
|
{
|
|||
|
|
$set: {
|
|||
|
|
referralsCount: newReferralsCount,
|
|||
|
|
tickets: newTickets
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
if (result.modifiedCount > 0) {
|
|||
|
|
print("\n✅ УСПЕШНО!");
|
|||
|
|
print(" Рефералы: " + (user.referralsCount || 0) + " -> " + newReferralsCount);
|
|||
|
|
print(" Билеты: " + (user.tickets || 0) + " -> " + newTickets);
|
|||
|
|
} else {
|
|||
|
|
print("\n⚠️ Не удалось обновить данные пользователя");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ============================================
|
|||
|
|
// ВАРИАНТ 2: ФУНКЦИЯ ДЛЯ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ
|
|||
|
|
// ============================================
|
|||
|
|
function giveReferrals(username, referralsCount, ticketsCount) {
|
|||
|
|
var user = db.users.findOne({ username: username });
|
|||
|
|
|
|||
|
|
if (!user) {
|
|||
|
|
print("❌ Пользователь '" + username + "' не найден!");
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var newReferralsCount = (user.referralsCount || 0) + (referralsCount || 0);
|
|||
|
|
// 100 билетов за каждого реферала
|
|||
|
|
var ticketsToAdd = (referralsCount || 0) * 100;
|
|||
|
|
var newTickets = (user.tickets || 0) + ticketsToAdd;
|
|||
|
|
|
|||
|
|
var result = db.users.updateOne(
|
|||
|
|
{ _id: user._id },
|
|||
|
|
{
|
|||
|
|
$set: {
|
|||
|
|
referralsCount: newReferralsCount,
|
|||
|
|
tickets: newTickets
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
if (result.modifiedCount > 0) {
|
|||
|
|
print("✅ " + username + ": рефералы " + (user.referralsCount || 0) + " -> " + newReferralsCount + ", билеты " + (user.tickets || 0) + " -> " + newTickets);
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Использование функции:
|
|||
|
|
// giveReferrals("username", 2, 2); // Выдать 2 реферала и 2 билета
|
|||
|
|
// giveReferrals("username", 5, 10); // Выдать 5 рефералов и 10 билетов
|
|||
|
|
|