CampaignService

@Service
class CampaignService(campaignRepository: CampaignRepository, contactRepository: ContactRepository, groupRepository: GroupRepository, campaignEventProducer: CampaignEventProducer)(source)

Serviço responsável pela gestão de campanhas de marketing. Fornece operações CRUD, envio assíncrono, agendamento e soft-delete.

Constructors

Link copied to clipboard
constructor(campaignRepository: CampaignRepository, contactRepository: ContactRepository, groupRepository: GroupRepository, campaignEventProducer: CampaignEventProducer)

Functions

Link copied to clipboard
@Transactional
fun cancelCampaign(tenantId: String, campaignId: String): CampaignResponse
Link copied to clipboard
@Transactional
fun createCampaign(tenantId: String, request: CreateCampaignRequest): CampaignResponse
Link copied to clipboard
@Transactional
fun deleteCampaign(tenantId: String, campaignId: String)
Link copied to clipboard
fun getCampaign(tenantId: String, campaignId: String): CampaignResponse
Link copied to clipboard
Link copied to clipboard
fun listCampaigns(tenantId: String, pageable: Pageable): Page<CampaignResponse>
Link copied to clipboard
@Scheduled(fixedRate = 60000)
fun processScheduledCampaigns()
Link copied to clipboard
@Transactional
fun retryCampaign(tenantId: String, campaignId: String): CampaignResponse
Link copied to clipboard
Link copied to clipboard
@Transactional
fun sendCampaign(tenantId: String, campaignId: String): CampaignResponse
Link copied to clipboard
@Transactional
fun updateCampaign(tenantId: String, campaignId: String, request: UpdateCampaignRequest): CampaignResponse