Package-level declarations

Types

Link copied to clipboard
@Component
class CampaignEventConsumer(objectMapper: ObjectMapper, campaignRepository: CampaignRepository, contactRepository: ContactRepository, groupRepository: GroupRepository, channelRepository: ChannelRepository, messageRepository: MessageRepository, metaClient: MetaClient, notificationService: NotificationService, flowMessageService: FlowMessageService, redisTemplate: StringRedisTemplate) : StreamListener<String, ObjectRecord<String, String>>

Consumer Redis que processa campanhas de envio. Cada campanha enfileirada é processada aqui, enviando templates para cada contato.

Link copied to clipboard
@Service
class CampaignEventProducer(redisTemplate: StringRedisTemplate, objectMapper: ObjectMapper)

Producer Redis para enfileirar tarefas de envio de campanhas. Usa Redis Streams para processamento assíncrono e não travar o servidor.

Link copied to clipboard
data class CampaignSendEvent(val campaignId: String, val tenantId: String, val action: String = "SEND_CAMPAIGN")

Evento de envio de campanha para a fila Redis.

Link copied to clipboard
@Configuration
class CampaignWorkerConfig(redisTemplate: StringRedisTemplate)

Configuração do Redis Stream para processamento de campanhas. Cria o consumer group e inicia o listener container.