Баллы: расход и отмена с явной суммой
Доступный баланс проверяется до подтверждения, история показывает каждое изменение.
Задача
У пользователя 350 доступных баллов. В наброске не было понятно, входят ли 80 в этот остаток или прибавляются к нему.
Возвращается расход конкретного действия
В этой модели 350 — весь доступный баланс. Вариант 80 расходует именно его. Сначала проверяю достаточность, затем сохраняю расход и запись вместе; отмена возвращает сумму конкретного действия.
Баланс после расхода
Действие на 80 баллов меняет 350 на 270. Его отмена возвращает 80, а не весь исходный баланс: другие действия продолжают учитываться.
Граница работы
Это кабинет одного локального профиля. Внешний заказ, оплата и проверка реального аккаунта не выполняются; состояние можно сбросить кнопкой проекта.
Что сделано
Разработал отдельное подтверждение, историю действий, локальную защиту повтора и отмену с обратным изменением баланса.
После расхода 80 остается 270. Вариант 400 блокируется без изменения истории и баланса; отмена расхода возвращает исходные 350.
- Быстрые действия
- Сохраняемый результат взаимодействия
- Исходные данные и порядок самостоятельной проверки
Открыть работающий результат · Контрольные примеры CSV · Повторить проверку · Модель и исходные условия