ADR-007: Ajuste síncrono do Payment.Total após AddRecommendedItem
Quando um item recomendado é adicionado com sucesso via Cart API, o campo Total do PaymentModel precisa ser atualizado para refletir o novo valor do pedido. Decidimos fazer esse ajuste sincronamente no handler do AddRecommendedItemCommand, antes de retornar o 200 ao front.
Considered Options
- A (escolhida): Atualização síncrona no handler. O handler confirma o sucesso da Cart API, atualiza
Payment.Total, e só então retorna o DTO de resposta. Simples, consistente, sem necessidade de infraestrutura adicional. - B: Atualização assíncrona via evento/fila. O handler retorna 200 imediatamente e o ajuste ocorre em background. Rejeitado — o DTO de retorno já inclui
Valuescom o novo total; se o payment não estiver atualizado quando o front fizer uma próxima chamada (ex: FinishOrder), haverá inconsistência.