feat: карта уведомлений Стола заказов — закрыть пробелы поставщику (новый заказ + приём гарантийного возврата) #132

Closed
claude wants to merge 1 commits from feat/marketplace-notifications-map into feat/marketplace-ku-economy
Owner

Карта уведомлений Стола заказов

Свёл полную карту уведомлений по жизненному циклу marketplace для всех ролей (заказчик / поставщик / кассир=председатель / оператор ПВЗ / совет). Инфраструктура (Novu email+in-app+push, realtime-мост, web-push) уже покрывает почти весь цикл — нашёл и закрыл два пробела на стороне поставщика, оба из явных требований.

A. Новый заказ → поставщику

Раньше поставщик узнавал о заказе только зайдя на стол. Теперь — in-app + push (без email: заказы частые, письмо было бы спамом). Повод заглянуть и акцептовать. Stock-заказ (поставщик = сам кооператив) исключён.

B. Гарантийный возврат принят в кооператив → поставщику

Раньше при accretrn уведомлялся только заказчик. Теперь поставщик получает email + in-app + push: по его товару оформлена претензия, имущество принято обратно в кооператив; дальше председатель КУ ведёт претензию вне системы.

Реализация

  • 2 новых события в marketplace-notification.events.ts (emit после commit в PG, INV-12).
  • emit в marketplace-order-create.service.ts (новый заказ) и marketplace-return-claim.service.ts (приём возврата).
  • 2 новых Novu-воркфлоу в @coopenomics/notifications + регистрация.
  • 2 новых @OnEvent-хендлера в MarketplaceNotificationService (адресная доставка, не блокирует основной flow).
  • spec order-create обновлён под новый параметр конструктора.

Активация после merge

  • pnpm --filter @coopenomics/notifications sync — выгрузить определения воркфлоу в Novu.
  • Перезапуск coopback (проверен локально: чистый старт, хендлеры зарегистрированы).

🤖 Generated with Claude Code

## Карта уведомлений Стола заказов Свёл полную карту уведомлений по жизненному циклу marketplace для всех ролей (заказчик / поставщик / кассир=председатель / оператор ПВЗ / совет). Инфраструктура (Novu email+in-app+push, realtime-мост, web-push) уже покрывает почти весь цикл — нашёл и закрыл **два пробела на стороне поставщика**, оба из явных требований. ### A. Новый заказ → поставщику Раньше поставщик узнавал о заказе только зайдя на стол. Теперь — **in-app + push** (без email: заказы частые, письмо было бы спамом). Повод заглянуть и акцептовать. Stock-заказ (поставщик = сам кооператив) исключён. ### B. Гарантийный возврат принят в кооператив → поставщику Раньше при `accretrn` уведомлялся только заказчик. Теперь поставщик получает **email + in-app + push**: по его товару оформлена претензия, имущество принято обратно в кооператив; дальше председатель КУ ведёт претензию вне системы. ## Реализация - 2 новых события в `marketplace-notification.events.ts` (emit после commit в PG, INV-12). - emit в `marketplace-order-create.service.ts` (новый заказ) и `marketplace-return-claim.service.ts` (приём возврата). - 2 новых Novu-воркфлоу в `@coopenomics/notifications` + регистрация. - 2 новых @OnEvent-хендлера в `MarketplaceNotificationService` (адресная доставка, не блокирует основной flow). - spec order-create обновлён под новый параметр конструктора. ## Активация после merge - `pnpm --filter @coopenomics/notifications sync` — выгрузить определения воркфлоу в Novu. - Перезапуск coopback (проверен локально: чистый старт, хендлеры зарегистрированы). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude added 1 commit 2026-06-13 05:22:49 +00:00
Поставщик не знал двух важных для решений событий: (1) поступил новый
заказ по его предложению — теперь in-app + push (без email: заказы частые,
письмо было бы спамом), повод зайти и акцептовать; (2) по его товару
оформлен гарантийный возврат и имущество принято обратно в кооператив на
очном осмотре — теперь email + in-app + push, дальше председатель КУ ведёт
претензию вне системы. Два события эмитятся после commit в PG (INV-12),
доставка через Novu не влияет на основной flow; stock-заказ (поставщик =
сам кооператив) из уведомления о новом заказе исключён.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ant added this to the Marketplace project 2026-06-15 13:14:08 +00:00
Author
Owner

Содержимое влито в marketplace2 напрямую через git merge (не через merge-кнопку Gitea) — коммиты 4f58871322 и предыдущие в цепочке merge-коммитов marketplace2. Закрываю как поглощённый.

Содержимое влито в marketplace2 напрямую через git merge (не через merge-кнопку Gitea) — коммиты 4f588713229 и предыдущие в цепочке merge-коммитов marketplace2. Закрываю как поглощённый.
claude closed this pull request 2026-07-20 13:04:59 +00:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: C9S/mono#132