update calculate user balance
This commit is contained in:
@@ -47,8 +47,8 @@ export default class UserHandler {
|
||||
const activeWalletsBalance = await WalletService.getActiveWalletsBalance(userStats.id);
|
||||
const archivedWalletsBalance = await WalletService.getArchivedWalletsBalance(userStats.id);
|
||||
|
||||
// Общий баланс (крипто + бонусы + total_balance)
|
||||
const totalBalance = activeWalletsBalance + archivedWalletsBalance + userStats.bonus_balance + (userStats.total_balance || 0);
|
||||
// Доступный баланс (bonus_balance + total_balance)
|
||||
const availableBalance = userStats.bonus_balance + (userStats.total_balance || 0);
|
||||
|
||||
const locationText = userStats.country && userStats.city && userStats.district
|
||||
? `${userStats.country}, ${userStats.city}, ${userStats.district}`
|
||||
@@ -66,7 +66,7 @@ export default class UserHandler {
|
||||
├ Active Wallets: ${userStats.crypto_wallet_count || 0} ($${activeWalletsBalance.toFixed(2)})
|
||||
├ Archived Wallets: ${userStats.archived_wallet_count || 0} ($${archivedWalletsBalance.toFixed(2)})
|
||||
├ Bonus Balance: $${userStats.bonus_balance || 0}
|
||||
└ Available Balance: $${totalBalance.toFixed(2)}
|
||||
└ Available Balance: $${availableBalance.toFixed(2)}
|
||||
|
||||
📅 Member since: ${new Date(userStats.created_at).toLocaleDateString()}
|
||||
`;
|
||||
|
||||
@@ -248,26 +248,21 @@ export default class UserPurchaseHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
// Логируем данные для отладки
|
||||
console.log('Purchase data:', purchase);
|
||||
console.log('User data:', user);
|
||||
|
||||
// Обновляем статус покупки в базе данных
|
||||
await PurchaseService.updatePurchaseStatus(purchaseId, 'received');
|
||||
|
||||
// Добавляем транзакцию в таблицу transactions
|
||||
await db.runAsync(`
|
||||
INSERT INTO transactions (user_id, wallet_type, tx_hash, amount, created_at)
|
||||
VALUES (?, ?, ?, ?, ?)
|
||||
`, [
|
||||
user.id, // ID пользователя
|
||||
purchase.wallet_type || 'unknown', // Тип кошелька (если не указан, то "unknown")
|
||||
purchase.tx_hash || 'no_hash', // Хеш транзакции (если не указан, то "no_hash")
|
||||
purchase.total_price, // Сумма транзакции
|
||||
new Date().toISOString() // Дата создания транзакции
|
||||
]);
|
||||
|
||||
console.log('Transaction added successfully'); // Логируем успешную вставку
|
||||
// Добавляем запись в таблицу transactions
|
||||
await db.runAsync(
|
||||
`INSERT INTO transactions (user_id, wallet_type, tx_hash, amount, created_at)
|
||||
VALUES (?, ?, ?, ?, ?)`,
|
||||
[
|
||||
user.id, // ID пользователя
|
||||
purchase.wallet_type, // Источник списания (например, "bonus_50, crypto_30")
|
||||
purchase.tx_hash || 'no_hash', // Хеш транзакции (если не указан, то "no_hash")
|
||||
purchase.total_price, // Сумма транзакции
|
||||
new Date().toISOString() // Дата создания транзакции
|
||||
]
|
||||
);
|
||||
|
||||
// Отправляем уведомление администраторам
|
||||
const adminIds = config.ADMIN_IDS; // Используем массив ADMIN_IDS
|
||||
|
||||
@@ -69,13 +69,9 @@ export default class UserWalletsHandler {
|
||||
// Бонусный баланс
|
||||
message += `🎁 *Bonus Balance:* $${updatedUser.bonus_balance.toFixed(2)}\n`;
|
||||
|
||||
// Общий баланс (крипто + бонусы + total_balance)
|
||||
const totalBalance = totalUsdValue + updatedUser.bonus_balance + (updatedUser.total_balance || 0);
|
||||
message += `💰 *Total Balance:* $${totalBalance.toFixed(2)}\n`;
|
||||
|
||||
// Доступный баланс (общий баланс минус расходы на покупки)
|
||||
const availableBalance = totalBalance; // Теперь availableBalance включает криптобаланс
|
||||
message += `💳 *Available Balance:* $${availableBalance.toFixed(2)}\n`;
|
||||
// Доступный баланс (bonus_balance + total_balance)
|
||||
const availableBalance = updatedUser.bonus_balance + (updatedUser.total_balance || 0);
|
||||
message += `💰 *Available Balance:* $${availableBalance.toFixed(2)}\n`;
|
||||
} else {
|
||||
message = 'You don\'t have any active wallets yet.';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user