Redjik
Джедай-мастер
Пропала ветка ищу готовое решение?
Короче, ищу готовое решение, может есть у кого![Wink ;) ;)](/talk/styles/default/xenforo/smilies/wink.png)
Нужен класс/бандл для контроля потока выполнения команд.
Хотя бы чтобы можно было делать undoAll, вообще желательно, чтобы умел undo, state, load, retry, логирование, отлов ошибок.
В идеале все это покрыто тестами.
Сам написал половину, но чото так лень =)))), а задача вроде как тривиальная =)
Сама бизнес задача, которую нужно решить.
Есть платежная система с кривым апи, есть менеджеры с кривой бизнес моделью, с которыми устал спорить.
Из-за ограничений апи нет возможности сделать транзакцию на стороне платежной системы.
Обновление пластиковой карты пользователя (payment method)
Запросы.
* Добавляем инфу карты пользователя в систему.
* Set user.autopay to false
* Убираем user.default_payment_method_id
* Ставим user.default_payment_method_id на новую карту
* Set user.autopay to true
* Удаляем старую карту
Мопед не мой - я просто разместил обьяву... короче вся эта идея с удалением итп, не моя, я спорил часов 10 уже, чтобы поменяли логику.
Вот для того, чтобы все это делать более менее атомарно, пишу команды c handle - выполнение запроса, undo - откат.
Короче, ищу готовое решение, может есть у кого
![Wink ;) ;)](/talk/styles/default/xenforo/smilies/wink.png)
Нужен класс/бандл для контроля потока выполнения команд.
Хотя бы чтобы можно было делать undoAll, вообще желательно, чтобы умел undo, state, load, retry, логирование, отлов ошибок.
В идеале все это покрыто тестами.
Сам написал половину, но чото так лень =)))), а задача вроде как тривиальная =)
Сама бизнес задача, которую нужно решить.
Есть платежная система с кривым апи, есть менеджеры с кривой бизнес моделью, с которыми устал спорить.
Из-за ограничений апи нет возможности сделать транзакцию на стороне платежной системы.
Обновление пластиковой карты пользователя (payment method)
Запросы.
* Добавляем инфу карты пользователя в систему.
* Set user.autopay to false
* Убираем user.default_payment_method_id
* Ставим user.default_payment_method_id на новую карту
* Set user.autopay to true
* Удаляем старую карту
Мопед не мой - я просто разместил обьяву... короче вся эта идея с удалением итп, не моя, я спорил часов 10 уже, чтобы поменяли логику.
Вот для того, чтобы все это делать более менее атомарно, пишу команды c handle - выполнение запроса, undo - откат.