Cerebro Studio · Backlog · Changelog
RioNoTeatro • /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md
Abrir Studio Projeto externo em modo read-only; encaminhamento permitido, escrita bloqueada.

Backlog Unificado

Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.

Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.

Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.

Especificações Disponíveis (fora da fila pendente)

Detalhe do BK Selecionado

/www/wwwroot/rionoteatro.com.br/docs/backlog/BK-216-listas-pedidos-mercado-pago-e-cancelamento.md • 2026-04-06T21:06:21.414Z

BK-216 · Listas de pedidos, Mercado Pago e cancelamento

  • Status: em execucao
  • Objetivo: corrigir inconsistências entre lista de compradores, visibilidade da sessão/lista do produtor e janela de cancelamento após a entrada do Mercado Pago e do fluxo de solicitação de cancelamento.
  • Entrega esperada: listas de compradores alinhadas para aceitar pedido_cancelar = NULL, nomes ocultados imediatamente quando houver pedido_cancelar = 1, contador de vendidos preservado até ação humana e módulo do produtor respeitando a regra própria da área:
  • produtor vê apenas peças ativas dele;
  • admin vê as peças ativas de todos os produtores.
  • Proximos passos: aplicar o patch mínimo no vivo, validar sintaxe PHP e fechar a rodada com commit/push na main.

Path List (lock-files)

  • AGENTS.md
  • docs/LOCK.md
  • docs/BACKLOG.md
  • docs/backlog/BK-216-listas-pedidos-mercado-pago-e-cancelamento.md
  • admin/modulos/pecas/enviar.php
  • config/functions.php
  • painel/data/functions.php
  • produtor/modulos/pedidos/action.php
  • produtor/modulos/pedidos/index.php
  • produtor/modulos/pedidos/lista.php
  • produtor/modulos/pedidos/sessoes.php

Evidências já confirmadas

  • pedido Mercado Pago pago existe para a sessão teste:
  • id=73704
  • status_transacao=3
  • metodo_pagamento=MERCADO_PAGO_PIX
  • pedido_cancelar=NULL
  • o filtro legado pedido_cancelar != 1 zera a lista quando pedido_cancelar vem NULL
  • para a sessão 2026-05-20 10:00:00 do evento 1343:
  • filtro atual retorna 0 pedidos / 0 ingressos
  • filtro corrigido com IS NULL OR != 1 retorna 1 pedido / 2 ingressos
  • a função vendidos() ainda conta pedidos pagos com pedido_cancelar=1
  • regra de negócio arbitrada:
  • o nome deve sair da lista de compradores imediatamente ao solicitar cancelamento
  • o ingresso nao volta automaticamente ao estoque/vendido; isso so muda apos ação humana
  • a tela produtor/modulos/pedidos/lista.php filtra apenas por email_lista
  • a peça 1343 usa id_produtor = 50877 e email_lista = esseeulembro@gmail.com; se o produtor loga com outro email do mesmo cadastro, a peça some da lista
  • nesta área do produtor:
  • peça = item com parceria_online = 1
  • evento = item sem venda online e, portanto, fora deste fluxo
  • quando o login nessa área for o admin (jorge@rionoteatro.com.br / tipo=admin), a expectativa de negócio é listar as peças ativas de todos os produtores, e não todos os eventos
  • a janela estática de checa_tempo_antes(..., true) no painel hoje usa 2 horas, abaixo da política desejada de 3 horas

Hipóteses de trabalho

  1. Lista de compradores/admin: filtros usam pedido_cancelar != 1 sem tratar NULL.
  2. Contador de vendidos: deve permanecer como está, porque a devolução do ingresso ao estoque depende de ação humana.
  3. Lista do produtor: o critério correto desta área é ownership por id_produtor, não email_lista.
  4. Peça x evento: aqui só entram peças com parceria_online = 1.
  5. Exceção de admin: jorge@rionoteatro.com.br/tipo=admin deve ver as peças ativas de todos os produtores, não todos os eventos.
  6. Cancelamento do cliente: a regra temporal estava mais frouxa do que o desejado porque o painel usa 2 horas na trilha estática.

Arquivos prováveis do fluxo

  • config/functions.php
  • admin/modulos/pecas/enviar.php
  • painel/data/functions.php
  • produtor/modulos/pedidos/action.php
  • produtor/modulos/pedidos/index.php
  • produtor/modulos/pedidos/lista.php
  • produtor/modulos/pedidos/sessoes.php

Riscos e cuidados

  • nao liberar ingresso automaticamente ao solicitar cancelamento, porque isso abriria margem de fraude perto da sessão
  • evitar corrigir apenas uma tela do produtor e deixar o restante do módulo preso em email_lista
  • preservar compatibilidade com o legado PagSeguro e com o fluxo atual do Mercado Pago

Backups locais desta rodada

  • AGENTS_bkp_20260406-175308.md
  • docs/LOCK_bkp_20260406-175308.md
  • docs/BACKLOG_bkp_20260406-175308.md
  • docs/backlog/BK-216-listas-pedidos-mercado-pago-e-cancelamento_bkp_20260406-175308.md
  • admin/modulos/pecas/enviar_bkp_20260406-175308.php
  • config/functions_bkp_20260406-175308.php
  • painel/data/functions_bkp_20260406-175308.php
  • produtor/modulos/pedidos/lista_bkp_20260406-175308.php
  • produtor/modulos/pedidos/index_bkp_20260406-175308.php
  • produtor/modulos/pedidos/action_bkp_20260406-175308.php
  • produtor/modulos/pedidos/sessoes_bkp_20260406-175308.php

Validacoes executadas

  • php -l admin/modulos/pecas/enviar.php
  • php -l config/functions.php
  • php -l painel/data/functions.php
  • php -l produtor/modulos/pedidos/lista.php
  • php -l produtor/modulos/pedidos/index.php
  • php -l produtor/modulos/pedidos/action.php
  • php -l produtor/modulos/pedidos/sessoes.php
  • prova de banco para a sessão 1343 / 2026-05-20 10:00:00:
  • filtro antigo: 0 pedidos / 0 ingressos
  • filtro novo: 1 pedido / 2 ingressos
  • prova de banco para a peça 1343:
  • escopo antigo por email_lista com jorge@rionoteatro.com.br: 0
  • escopo novo por id_produtor OR email_lista: 1