Конфликты

Проблемы:

  • Реализация не соответствует текущему бизнесу.
  • Код дикий, лазить туда страшновато каждый раз.
  • Бизнес-логика кудрявая.

Проблемы в коде:

  • Ддосим Echelon
  • Куча не закрытых багов (BILLY-18804, BILLY-18756, BILLY-10842, https://trello.com/c/yPN5NN8R)
  • Сложно сформулировать что там проблема, там просто код такой.

Как сейчас

Input

CanCreate?

Result = Can't

  • Save sources, briefs, products.
  • Determine partner.
  • Determine conflicts.

No

Yes

Can resolve conflixt?

Yes

Result = Can't

No

  • Save PS.
  • Set task for resolve

Что хотим

Input

Prepare data

Create in domain model

Result

Домен

Решаем проблему корректного добавления ПП в систему. Редактирование ПП остается ответственностью Sale.

Доменная модель

Умеет отвечать на вопросы :

- можно ли создать ПП;

- куда распределиться ПП.

Умеет с правильным распределением сохранять ПП в систему.

Доменные сущности

Входящая ПП (Entity)

Активные ПП (Entity) - контакты, телефоны, emailы, партнер.

Активные брони (Entity)

Активные СЦ (Entity)

Правило распределения СЦ (ValueObject)

Результат распределения (ValueObject)

 

Чего не будет?

Тасок в эшелон.

Потому что теперь тип конфликта остался только один -дубли.

Что под вопросом?

Работа с контактами.
Контакты не относятся к этому домену и их включение в доменную модель пока непонятно.

Made with Slides.com