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

Проблемы в коде:
- Ддосим 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)
Чего не будет?
Тасок в эшелон.
Потому что теперь тип конфликта остался только один -дубли.
Что под вопросом?
Работа с контактами.
Контакты не относятся к этому домену и их включение в доменную модель пока непонятно.
Conflicts
By katty_zee
Conflicts
- 548