fix: использование AccountService вместо UserService для поиска владельцев счетов
Проблема: - UserService.get_user_by_account() искал в User.account_number (старое поле) - Новая система хранит счета в отдельной таблице Account Решение: - Заменен на AccountService.get_account_owner() в обеих функциях - add_participants_by_accounts_bulk() - remove_participants_by_accounts_bulk() - Теперь правильно находит владельцев через таблицу Account - Улучшены сообщения об ошибках с указанием номера карты
This commit is contained in:
@@ -571,13 +571,15 @@ class ParticipationService:
|
|||||||
formatted_account = format_account_number(account_number)
|
formatted_account = format_account_number(account_number)
|
||||||
if not formatted_account:
|
if not formatted_account:
|
||||||
results["invalid_accounts"].append(account_input)
|
results["invalid_accounts"].append(account_input)
|
||||||
results["errors"].append(f"Неверный формат счета: {account_number}")
|
results["errors"].append(f"Неверный формат счета: {account_input}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Ищем пользователя по номеру счёта
|
# Ищем владельца счёта через таблицу Account
|
||||||
user = await UserService.get_user_by_account(session, formatted_account)
|
from ..core.registration_services import AccountService
|
||||||
|
user = await AccountService.get_account_owner(session, formatted_account)
|
||||||
if not user:
|
if not user:
|
||||||
results["errors"].append(f"Пользователь с счётом {formatted_account} не найден")
|
card_info = f" (карта: {card_number})" if card_number else ""
|
||||||
|
results["errors"].append(f"Пользователь с счётом {formatted_account}{card_info} не найден")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Пробуем добавить в розыгрыш
|
# Пробуем добавить в розыгрыш
|
||||||
@@ -634,14 +636,16 @@ class ParticipationService:
|
|||||||
formatted_account = format_account_number(account_number)
|
formatted_account = format_account_number(account_number)
|
||||||
if not formatted_account:
|
if not formatted_account:
|
||||||
results["invalid_accounts"].append(account_input)
|
results["invalid_accounts"].append(account_input)
|
||||||
results["errors"].append(f"Неверный формат счета: {account_number}")
|
results["errors"].append(f"Неверный формат счета: {account_input}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Ищем пользователя по номеру счёта
|
# Ищем владельца счёта через таблицу Account
|
||||||
user = await UserService.get_user_by_account(session, formatted_account)
|
from ..core.registration_services import AccountService
|
||||||
|
user = await AccountService.get_account_owner(session, formatted_account)
|
||||||
if not user:
|
if not user:
|
||||||
|
card_info = f" (карта: {card_number})" if card_number else ""
|
||||||
results["not_found"] += 1
|
results["not_found"] += 1
|
||||||
results["details"].append(f"Не найден: {formatted_account}")
|
results["details"].append(f"Не найден: {formatted_account}{card_info}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Пробуем удалить из розыгрыша
|
# Пробуем удалить из розыгрыша
|
||||||
|
|||||||
Reference in New Issue
Block a user