Доставка обедов: одна выполненная продажа на заказ
Повторы оплаты и выполнения не увеличивают продажу; отмена до выполнения остается финансовым вопросом.
Задача
Три заказа проходят разные пути: O18 выполнен, O19 оплачен и отменен, O20 выполнен и частично возвращен. Дубли событий добавлены отдельно, чтобы проверить устойчивость отчета.
Повтор события не становится второй продажей
В журнале для O18 оплата на 900 и изменение состояния заказа — разные факты. Повторная доставка уже известного события не должна увеличивать деньги или число выполненных заказов. Я проверяю идентичность события прежде расчёта, а выполненную продажу связываю с состоянием исполнения.
Что сделано
Я собрала событийный отчёт заказов еды с исключением повторов и проверкой возвратов.
Два выполненных заказа дали 2100 ₽ до возврата и 1800 ₽ после него. Отмененный O19 не создал продажу, его 600 ₽ вернулись отдельным событием. Повторы E1/E2 и новое выполнение O18 не увеличили итог.
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- checks.json
- style.css
Открыть работающий материал · Контрольные примеры CSV · Повторить проверку · Модель и исходные условия