Enviar notificaciones todos los usuarios

Imaginemos que deseamos enviar notificaciones a un usuario especifico o a un grupos o todos los usuarios.

Por ejemplo cuando creamos un nuevo rol deseamos notificar a todos los usuarios.

Debemos Inyectar

  @Inject
    AutoincrementableServices autoincrementableServices;
     //Notification
    @Inject
    UsuarioServices usuarioServices;
    @Inject
    JmoordbNotificationsRepository jmoordbNotificationsRepository;
    @Inject
    @Push(channel = "notification")
    private PushContext push;

Creamos el método afterSave()

Recorremos la lista de usuarios y pasamos el username junto con los detalles y lo guardamos en jmoordbNotificationsRepository

y luego hacemos el push.send()

public Boolean afterSave(Boolean saved) {
        try {

            for (Usuario u : usuarioServices.getUsuarioList()) {
                //Guardarlo en la base de datos
                JmoordbNotifications jmoordbNotifications = new JmoordbNotifications();
//                Usuario jmoordb_user = (Usuario) JmoordbContext.get("jmoordb_user");
                jmoordbNotifications.setIdjmoordbnotifications(autoincrementableServices.getContador("jmoordbnNotifications"));
                jmoordbNotifications.setUsername(u.getUsername());
                jmoordbNotifications.setMessage("se creo un nuevo rol");
                jmoordbNotifications.setViewed("no");
                jmoordbNotifications.setDate(DateUtil.fechaActual());
                jmoordbNotifications.setType("rolnuevo");
                jmoordbNotificationsRepository.save(jmoordbNotifications);
            }
            push.send("Se creo un nuevo rol");
        } catch (Exception e) {
        }
        return false;
    }

Last updated