Skip to main content

Task #19323 — Atualizar componente de steps do fluxo de venda para step Upsell condicional

Task pai: Feature: Upsell

Status do refinamento: concluído
Requisitos EARS: task-19323-update-componente-step-fluxo-venda-requisitos.md
Pesquisas técnicas: AS-IS NewSellStepper · Obx vs AppGetBuilder
ADRs: ADR-010 — Controller dedicado UpsellRecommendationController


Resumo

Atualizar o componente NewSellStepper existente no zzapp (Flutter/Dart) para suportar um novo step condicional 'Recomendar' no fluxo de venda. O step é exibido entre Cliente e Conferir quando: (1) feature flag upsell está ativa, (2) loja possui upsell habilitado via codeStore, (3) itens do carrinho são exclusivamente estoque loja (saleEcommerce == false). A atualização introduz um novo controller dedicado (UpsellRecommendationController) e implementa reatividade via AppGetBuilder (padrão oficial do projeto), mantendo o stepper como StatelessWidget.

  • O step 'Recomendar' aparece entre Cliente e Conferir com número 3; Conferir vira 4 quando upsell ativo
  • As 3 condições (feature flag, loja habilitada, estoque loja) são avaliadas com AND — todas devem ser true
  • A visibilidade do step é reavaliada reativamente após adição do primeiro item ao cart e após mudanças nos itens
  • Se feature flag mudar em runtime enquanto usuário está na tela de recomendação, o step é mantido
  • O UpsellRecommendationController é um lazySingleton que se auto-reseta via listener no OpenSalesController.activeCartDTO
  • O NewSellStepper permanece StatelessWidget e usa AppGetBuilder para reagir ao UpsellRecommendationController — os call sites não precisam de wrapper reativo
  • SteppSell ganha valor recomendar; StepperModel ganha factory recomendaStepperModel; conferenciaStepperModel ganha parâmetro number opcional (default 3)
  • Navegação para a tela de recomendação e a própria tela estão fora do escopo desta task
  • Feature flags enableUpsellRecommendation e enableUpsellRecommendationByCodeStore são dependência da task 07

Referencia visual

Componente stepper

Arquivos desta pasta

ArquivoDescrição
task-19323-update-componente-step-fluxo-venda.mdEste arquivo — sumário e índice da task
task-19323-update-componente-step-fluxo-venda-requisitos.mdDocumento de requisitos em formato EARS (pt-BR): histórias de usuário, critérios de aceitação e casos de borda