...
Descontos de origem do motor de promoções não aplicados corretamente quando é retornado mais de uma promoção para o mesmo produto, quando ocorre esse cenario apenas o desconto de maior valor é aplicado sobre o item. gerando divergencia no valor final da venda devido desconto ausente.
Abaixo GIF de evidencia simulando o problema onde foi executado as etapas:
1º - salvar pré-venda
2º - realizar o resgate da pré-venda
3º- ir para tela de pagamento
4º- voltar ao carrinho
Após esse procedimento o valor do desconto automático é alterado mantendo apenas 1 dos descontos no item.
gif reproduzindo a falha
O método responsável por realizar a comunicação com api externa do motor de promoções apresentava falhas devido à sua invocação simultânea, levando a duplicidades nos valores e inconsistências. Ao tentar remover duplicidades em itens com mais de um desconto, o sistema mantinha apenas o desconto automático de maior valor, causando divergência no valor final da venda. abaixo realizado a mesma simulação após a correção.
Evidencia do log MotorPromocaoTerceiro.log das chamadas para Calcular os descontos do motor de promoções antes e após a correção,onde é demostrado demonstrado que só ocorreu duas chamadas uma ao efetuar o resgate da pré-venda e a outra após voltar da tela de pagamento, diferente do primeiro exemplo da falha onde após retornar da tela de pagamento ocorreram mais 5 chamadas ao motor de promoções.
abaixo gif demostrando o mesmo procedimento após a correção:
gif simulação após correção
O método foi corrigido para evitar chamadas simultâneas, eliminando a duplicidade de valores e garantindo que todos os descontos sejam considerados corretamente, resultando em transparencia e precisão nos descontos aplicados.
...