Руслан СафинРазработка локального приложения

Баллы: расход и отмена с явной суммой

Доступный баланс проверяется до подтверждения, история показывает каждое изменение.

Задача

У пользователя 350 доступных баллов. В наброске не было понятно, входят ли 80 в этот остаток или прибавляются к нему.

Открыть работающий результат →

Возвращается расход конкретного действия

В этой модели 350 — весь доступный баланс. Вариант 80 расходует именно его. Сначала проверяю достаточность, затем сохраняю расход и запись вместе; отмена возвращает сумму конкретного действия.

Баланс после расхода

Действие на 80 баллов меняет 350 на 270. Его отмена возвращает 80, а не весь исходный баланс: другие действия продолжают учитываться.

Граница работы

Это кабинет одного локального профиля. Внешний заказ, оплата и проверка реального аккаунта не выполняются; состояние можно сбросить кнопкой проекта.

Что сделано

Разработал отдельное подтверждение, историю действий, локальную защиту повтора и отмену с обратным изменением баланса.

После расхода 80 остается 270. Вариант 400 блокируется без изменения истории и баланса; отмена расхода возвращает исходные 350.

Открыть работающий результат · Контрольные примеры CSV · Повторить проверку · Модель и исходные условия