Class NotificationServiceImpl
Object
NotificationServiceImpl
- All Implemented Interfaces:
NotificationService
@Service("vNotificationService")
public class NotificationServiceImpl
extends Object
implements NotificationService
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceScripts que sao executados em eventos de notificacoes -
Field Summary
Fields inherited from interface NotificationService
PARAM_DESLIGAR_LEMBRETE_VITRUVIO, PARAM_DESLIGAR_NOTIF_EMAIL, PARAM_PERMITIR_CONTROLE_USUARIO_NOTIFICACAO -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionLembreteNotificacaoconfigurarProximoLembrte(Long idNotificacao, String userLogin, Date novaData) Configura uma nova data para o lembrede te determinada notificacaoRetorna uma implementacao de um filtro sem valoresNotificacaocriarNotificacao(Notificacao notificacao) Persiste uma notificacaovoiddefinirComoNotificadaViaEmail(Long idNotificacao) Define a notificacao com o status de email processadovoidAltera todos os status de rejeicao das convoidvoidLembreteNotificacaofinalizarLembrete(Notificacao notificacao, String userLogin) Finaliza a situacao do lembrete persistindo suas alteracoesLembreteNotificacaofinalizarLembrete(Long idNotificacao, String userLogin) Finaliza a situacao do lembretevoidfinalizarNotificacao(Notificacao n) Finaliza a notificacaovoidfinalizarNotificacao(Long idNotificacao) Finaliza a notificacaovoidfinalizarNotificacoesParaProcesso(String processInstanceId) Encerra todas as notificacoes do processovoidEncerra todas as notificacoes e lembretes relacionados a uma notificacao com ciclo de vida relacionado a uma tarefa.intEncerra todas as notificacoes diretamente vinculadas ao usuario e que permitem seu encerramento manualmenteNotificacaoConvocacaoAtivagetAceiteAtivo(String taskId) Coleta o aceite ativo da tarefa, se houver algumNotificacaoConvocacaoAtivagetAceiteAtivo(String taskId, String login) Coleta um aceite ativo se existir, restrinindo um possivel usuarioObtem a contagem de notificacoes com base nos criterios de filtro definidosgetCountNotitficacoes(String login) Obtem a contagem de notificacoes de um determinado usuariogetLoginAceiteAtivo(String taskId) Coleta o login do usuario com aceite ativo na tarefaList<Notificacao> getNoticacoes(NotificacaoFilter filter) Obtem todas as notitficacoes do filtroList<Notificacao> getNoticacoes(NotificacaoFilter filter, int offset, int limit) Obtem a contagem de notificacoes baseado nos criterios de filtro definidosList<Notificacao> getNoticacoes(String login) Obtem todas as notificacoes com acesso do usuarioList<Notificacao> getNoticacoes(String login, int offset, int limit) Obtem as notificacoes relacionadas a determinado loginNotificacaoColeta uma notificacao via IDAcaoConvocacaoAtivaObtem a ultima acao do usuario na convocacao ativabooleanbooleanvoidnotifySystemError(String subject, String message, Object exception, boolean email, boolean app, boolean push) voidnotifySystemError(String subject, String message, Object exception, boolean email, boolean push, Set<String> grupos, Set<String> usuarios, Set<String> emails) voidnotifySystemError(String subject, String message, Throwable exception, boolean email, boolean app, boolean push) Notifica um erro do sistema atraves dos mecanismos padrao para os destinatarios determinados via configuracaovoidnotifySystemError(String subject, String message, Throwable exception, boolean email, boolean push, Set<String> grupos, Set<String> usuarios, Set<String> emails) voidintintremoverNotificacoesCriadasAntesDe(Date date, Status status) voidremoverNotificacoesInstancia(Long instanciaId) Exclui a notificacao da instanciaNotificacaoConvocacaoAtivasalvarNotificacaoConvocacaoAtiva(NotificacaoConvocacaoAtiva notificacao) Salva informacoees detalhadas sobre a notificacao de aceite de convocacao ativaAcaoConvocacaoAtivasalvarUltimaAcaoConvocacaoAtiva(AcaoConvocacaoAtiva acao) Salva a ultima acao do usuario na convocacao ativavoidsendMobileNotification(String login, String notification) voidsendMobileNotification(String login, String title, String notification) Se possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativosvoidsendMobileNotification(String login, String title, String notification, int badge) voidsendMobileNotification(String login, String title, String notification, int badge, String action, String reference) Se possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativosvoidsendMobileNotification(String login, String title, String notification, int badge, String action, String reference, Object data) Se possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativosvoidsendMobileNotification(String login, String title, String notification, String action, String reference) Se possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativosvoidsendMobileNotificationToGroup(String title, String notification, String role) Se possivel, envia uma notificacao atraves do Vitruvio Mobile para todos os usuarios do grupovoidsetAcaoConvocacaoAtivaDao(AcaoConvocacaoAtivaDao acaoConvocacaoAtivaDao) voidsetAndroidPushEnabled(boolean androidPushEnabled) voidsetCertificadoDao(CertificadoDao certificadoDao) voidsetConfigService(ConfigService configService) voidsetEmailService(EmailService emailService) voidsetIosPushEnabled(boolean iosPushEnabled) voidsetNotificacaoConvocacaoAtivaDao(NotificacaoConvocacaoAtivaDao notificacaoConvocacaoAtivaDao) voidsetNotificacaoDao(NotificacaoDao notificacaoDao) voidsetRoleService(RoleService roleService) voidsetScriptService(ScriptService scriptService) voidsetTokenUtil(JWTTokenUtil tokenUtil) voidsetUserService(UsuarioService userService)
-
Constructor Details
-
NotificationServiceImpl
public NotificationServiceImpl()
-
-
Method Details
-
setConfigService
-
setUserService
-
setRoleService
-
setTokenUtil
-
setCertificadoDao
-
setNotificacaoDao
-
setScriptService
-
setEmailService
-
setNotificacaoConvocacaoAtivaDao
@Autowired public void setNotificacaoConvocacaoAtivaDao(NotificacaoConvocacaoAtivaDao notificacaoConvocacaoAtivaDao) -
setAcaoConvocacaoAtivaDao
-
isAndroidPushEnabled
public boolean isAndroidPushEnabled()- Specified by:
isAndroidPushEnabledin interfaceNotificationService
-
setAndroidPushEnabled
public void setAndroidPushEnabled(boolean androidPushEnabled) - Specified by:
setAndroidPushEnabledin interfaceNotificationService
-
isIosPushEnabled
public boolean isIosPushEnabled()- Specified by:
isIosPushEnabledin interfaceNotificationService
-
setIosPushEnabled
public void setIosPushEnabled(boolean iosPushEnabled) - Specified by:
setIosPushEnabledin interfaceNotificationService
-
disableAllPushServices
public void disableAllPushServices()- Specified by:
disableAllPushServicesin interfaceNotificationService
-
enableAllPushServices
public void enableAllPushServices()- Specified by:
enableAllPushServicesin interfaceNotificationService
-
refreshConfig
public void refreshConfig()- Specified by:
refreshConfigin interfaceNotificationService
-
sendMobileNotification
- Specified by:
sendMobileNotificationin interfaceNotificationService- Parameters:
login-notification-
-
sendMobileNotification
Description copied from interface:NotificationServiceSe possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativos- Specified by:
sendMobileNotificationin interfaceNotificationService- Parameters:
login-notification-
-
sendMobileNotification
public void sendMobileNotification(String login, String title, String notification, String action, String reference) Description copied from interface:NotificationServiceSe possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativos- Specified by:
sendMobileNotificationin interfaceNotificationService- Parameters:
login-title-notification-action-reference-
-
sendMobileNotification
- Specified by:
sendMobileNotificationin interfaceNotificationService- Parameters:
login-notification-badge-
-
sendMobileNotificationToGroup
Description copied from interface:NotificationServiceSe possivel, envia uma notificacao atraves do Vitruvio Mobile para todos os usuarios do grupo- Specified by:
sendMobileNotificationToGroupin interfaceNotificationService- Parameters:
notification-role-
-
sendMobileNotification
public void sendMobileNotification(String login, String title, String notification, int badge, String action, String reference) Description copied from interface:NotificationServiceSe possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativos- Specified by:
sendMobileNotificationin interfaceNotificationService- Parameters:
login-title-notification-badge-action-reference-
-
sendMobileNotification
public void sendMobileNotification(String login, String title, String notification, int badge, String action, String reference, Object data) Description copied from interface:NotificationServiceSe possivel, envia uma notificacao atraves do Vitruvio Mobile para o usuario em todos os seus tokens ativos- Specified by:
sendMobileNotificationin interfaceNotificationService- Parameters:
login-title-notification-badge-action-reference-data- metadados da notificação
-
getNotificacaoById
Description copied from interface:NotificationServiceColeta uma notificacao via ID- Specified by:
getNotificacaoByIdin interfaceNotificationService- Parameters:
id-- Returns:
-
createNotificacaoFilter
Description copied from interface:NotificationServiceRetorna uma implementacao de um filtro sem valores- Specified by:
createNotificacaoFilterin interfaceNotificationService- Returns:
-
getNoticacoes
@Transactional(propagation=SUPPORTS) public List<Notificacao> getNoticacoes(String login, int offset, int limit) Description copied from interface:NotificationServiceObtem as notificacoes relacionadas a determinado login- Specified by:
getNoticacoesin interfaceNotificationService- Parameters:
login-offset-limit-- Returns:
-
getNoticacoes
Description copied from interface:NotificationServiceObtem todas as notificacoes com acesso do usuario- Specified by:
getNoticacoesin interfaceNotificationService- Parameters:
login-- Returns:
-
getCountNotitficacoes
Description copied from interface:NotificationServiceObtem a contagem de notificacoes de um determinado usuario- Specified by:
getCountNotitficacoesin interfaceNotificationService- Parameters:
login-- Returns:
-
getNoticacoes
@Transactional(propagation=SUPPORTS) public List<Notificacao> getNoticacoes(NotificacaoFilter filter, int offset, int limit) Description copied from interface:NotificationServiceObtem a contagem de notificacoes baseado nos criterios de filtro definidos- Specified by:
getNoticacoesin interfaceNotificationService- Parameters:
filter-offset-limit-- Returns:
-
getNoticacoes
Description copied from interface:NotificationServiceObtem todas as notitficacoes do filtro- Specified by:
getNoticacoesin interfaceNotificationService- Parameters:
filter-- Returns:
-
getCountNotitficacoes
Description copied from interface:NotificationServiceObtem a contagem de notificacoes com base nos criterios de filtro definidos- Specified by:
getCountNotitficacoesin interfaceNotificationService- Parameters:
filter-- Returns:
-
criarNotificacao
public Notificacao criarNotificacao(Notificacao notificacao) Description copied from interface:NotificationServicePersiste uma notificacao- Specified by:
criarNotificacaoin interfaceNotificationService- Parameters:
notificacao-- Returns:
-
finalizarNotificacao
@Transactional(propagation=REQUIRED) public void finalizarNotificacao(Notificacao n) Description copied from interface:NotificationServiceFinaliza a notificacao- Specified by:
finalizarNotificacaoin interfaceNotificationService- Parameters:
n-
-
finalizarNotificacao
Description copied from interface:NotificationServiceFinaliza a notificacao- Specified by:
finalizarNotificacaoin interfaceNotificationService- Parameters:
idNotificacao-
-
removerNotificacoesInstancia
Description copied from interface:NotificationServiceExclui a notificacao da instancia- Specified by:
removerNotificacoesInstanciain interfaceNotificationService
-
configurarProximoLembrte
@Transactional(propagation=REQUIRED) public LembreteNotificacao configurarProximoLembrte(Long idNotificacao, String userLogin, Date novaData) Description copied from interface:NotificationServiceConfigura uma nova data para o lembrede te determinada notificacao- Specified by:
configurarProximoLembrtein interfaceNotificationService- Parameters:
idNotificacao-userLogin-novaData-
-
finalizarLembrete
@Transactional(propagation=REQUIRED) public LembreteNotificacao finalizarLembrete(Long idNotificacao, String userLogin) Description copied from interface:NotificationServiceFinaliza a situacao do lembrete- Specified by:
finalizarLembretein interfaceNotificationService- Parameters:
idNotificacao-userLogin-
-
finalizarLembrete
@Transactional(propagation=REQUIRED) public LembreteNotificacao finalizarLembrete(Notificacao notificacao, String userLogin) Description copied from interface:NotificationServiceFinaliza a situacao do lembrete persistindo suas alteracoes- Specified by:
finalizarLembretein interfaceNotificationService- Parameters:
notificacao-userLogin-- Returns:
-
finalizarNotificacoesParaTarefa
Description copied from interface:NotificationServiceEncerra todas as notificacoes e lembretes relacionados a uma notificacao com ciclo de vida relacionado a uma tarefa.- Specified by:
finalizarNotificacoesParaTarefain interfaceNotificationService- Parameters:
taskId-
-
finalizarNotificacoesParaProcesso
@Transactional(propagation=REQUIRED) public void finalizarNotificacoesParaProcesso(String processInstanceId) Description copied from interface:NotificationServiceEncerra todas as notificacoes do processo- Specified by:
finalizarNotificacoesParaProcessoin interfaceNotificationService- Parameters:
processInstanceId-
-
finalizarNotificacoesPermitidasUsuario
@Transactional(propagation=REQUIRED) public int finalizarNotificacoesPermitidasUsuario(String login) Description copied from interface:NotificationServiceEncerra todas as notificacoes diretamente vinculadas ao usuario e que permitem seu encerramento manualmente- Specified by:
finalizarNotificacoesPermitidasUsuarioin interfaceNotificationService- Parameters:
login-
-
definirComoNotificadaViaEmail
Description copied from interface:NotificationServiceDefine a notificacao com o status de email processado- Specified by:
definirComoNotificadaViaEmailin interfaceNotificationService- Parameters:
idNotificacao-
-
salvarNotificacaoConvocacaoAtiva
@Transactional(propagation=REQUIRED) public NotificacaoConvocacaoAtiva salvarNotificacaoConvocacaoAtiva(NotificacaoConvocacaoAtiva notificacao) Description copied from interface:NotificationServiceSalva informacoees detalhadas sobre a notificacao de aceite de convocacao ativa- Specified by:
salvarNotificacaoConvocacaoAtivain interfaceNotificationService- Parameters:
notificacao-- Returns:
-
getAceiteAtivo
@Transactional(propagation=SUPPORTS) public NotificacaoConvocacaoAtiva getAceiteAtivo(String taskId, String login) Description copied from interface:NotificationServiceColeta um aceite ativo se existir, restrinindo um possivel usuario- Specified by:
getAceiteAtivoin interfaceNotificationService- Parameters:
taskId-login-- Returns:
-
getAceiteAtivo
@Transactional(propagation=SUPPORTS) public NotificacaoConvocacaoAtiva getAceiteAtivo(String taskId) Description copied from interface:NotificationServiceColeta o aceite ativo da tarefa, se houver algum- Specified by:
getAceiteAtivoin interfaceNotificationService- Parameters:
taskId-- Returns:
- Entidade com aceite ativo ou null se nao houver
-
desativarRejeicoesConvocacaoAtiva
Description copied from interface:NotificationServiceAltera todos os status de rejeicao das con- Specified by:
desativarRejeicoesConvocacaoAtivain interfaceNotificationService- Parameters:
taskId-
-
getLoginAceiteAtivo
Description copied from interface:NotificationServiceColeta o login do usuario com aceite ativo na tarefa- Specified by:
getLoginAceiteAtivoin interfaceNotificationService- Parameters:
taskId-- Returns:
- Login do usuario com aceite ativo ou null se nao houver aceite ativo para a mesma
-
getUltimaAcaoConvocacaoAtiva
@Transactional(propagation=SUPPORTS) public AcaoConvocacaoAtiva getUltimaAcaoConvocacaoAtiva(String login) Description copied from interface:NotificationServiceObtem a ultima acao do usuario na convocacao ativa- Specified by:
getUltimaAcaoConvocacaoAtivain interfaceNotificationService- Parameters:
login-- Returns:
- Entidade com a ultima acao ou NULL se nao ha nenhuma
-
salvarUltimaAcaoConvocacaoAtiva
@Transactional(propagation=REQUIRED) public AcaoConvocacaoAtiva salvarUltimaAcaoConvocacaoAtiva(AcaoConvocacaoAtiva acao) Description copied from interface:NotificationServiceSalva a ultima acao do usuario na convocacao ativa- Specified by:
salvarUltimaAcaoConvocacaoAtivain interfaceNotificationService- Returns:
-
notifySystemError
public void notifySystemError(String subject, String message, Throwable exception, boolean email, boolean app, boolean push) Description copied from interface:NotificationServiceNotifica um erro do sistema atraves dos mecanismos padrao para os destinatarios determinados via configuracao- Specified by:
notifySystemErrorin interfaceNotificationService- Parameters:
subject-message-exception-email-app-push-
-
notifySystemError
public void notifySystemError(String subject, String message, Object exception, boolean email, boolean app, boolean push) - Specified by:
notifySystemErrorin interfaceNotificationService
-
notifySystemError
public void notifySystemError(String subject, String message, Object exception, boolean email, boolean push, Set<String> grupos, Set<String> usuarios, Set<String> emails) - Specified by:
notifySystemErrorin interfaceNotificationService
-
notifySystemError
public void notifySystemError(String subject, String message, Throwable exception, boolean email, boolean push, Set<String> grupos, Set<String> usuarios, Set<String> emails) - Specified by:
notifySystemErrorin interfaceNotificationService
-
removerNotificacoesCriadasAntesDe
- Specified by:
removerNotificacoesCriadasAntesDein interfaceNotificationService
-
removerNotificacoesCriadasAntesDe
@Transactional(propagation=REQUIRED) public int removerNotificacoesCriadasAntesDe(Date date, Status status) - Specified by:
removerNotificacoesCriadasAntesDein interfaceNotificationService
-