Class ProcessamentoNotificador
java.lang.Object
br.com.vantroba.bi.transporte.processamento.ProcessamentoNotificador
Formata e dispara as notificações Telegram do pipeline de processamento. Conhece o domínio
(
ProcessamentoXls, MesclaResumo) e o transforma em texto; o envio em si fica no
TelegramService (transporte). Separar formatação de transporte mantém comum livre
de dependência de feature.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionMonta o texto da mensagem de falha no processamento.montarTextoResumo(ConjuntoLote lote, List<ProcessamentoXls> procs) Monta o texto do resumo do lote.montarTextoSucesso(ProcessamentoXls proc, MesclaResumo resumo) Monta o texto da mensagem de sucesso.voidNotifica a falha de um processamento.voidnotificarResumoConjunto(ConjuntoLote lote, List<ProcessamentoXls> procs) Envia o resumo de um lote (.zip) completo: uma linha por arquivo com o status, e a contagem de duplicados/não-processados do lote.voidnotificarSucesso(ProcessamentoXls proc, MesclaResumo resumo) Notifica sucesso silenciando quando o upload foi idempotente (resumo.totalAlteracoes() == 0em ambas as tabelas — spec 004 fase 5).
-
Constructor Details
-
ProcessamentoNotificador
- Parameters:
telegram- transporte Telegramapp- configuraçãoapp.*;app.base-urlem branco usa o fallback
-
-
Method Details
-
notificarSucesso
Notifica sucesso silenciando quando o upload foi idempotente (resumo.totalAlteracoes() == 0em ambas as tabelas — spec 004 fase 5). Quandoresumoénull, cai no comportamento legado (sempre notifica sem detalhamento de métricas).- Parameters:
proc- processamento concluído com sucessoresumo- métricas da mescla por tabela;nullaciona o comportamento legado
-
notificarErro
Notifica a falha de um processamento.- Parameters:
proc- processamento que terminou em erro
-
notificarResumoConjunto
Envia o resumo de um lote (.zip) completo: uma linha por arquivo com o status, e a contagem de duplicados/não-processados do lote. Chamado uma vez, pelo thread que fecha o lote (ConjuntoLoteService).- Parameters:
lote- o lote fechadoprocs- os processamentos do lote (pode ser vazio se todos foram duplicata/rejeitados)
-
montarTextoResumo
Monta o texto do resumo do lote. Exposto para testes unitários. -
montarTextoSucesso
Monta o texto da mensagem de sucesso. Quandoresumonão é nulo, inclui o detalhamento das 4 métricas por tabela (spec 004 fase 5). Exposto para testes unitários.- Parameters:
proc- processamento concluído com sucessoresumo- métricas da mescla por tabela;nullomite o detalhamento- Returns:
- o texto formatado da notificação de sucesso
-
montarTextoErro
Monta o texto da mensagem de falha no processamento. Exposto para testes unitários.- Parameters:
proc- processamento que terminou em erro- Returns:
- o texto formatado da notificação de erro
-