Connected to Event Collector

This commit is contained in:
2026-01-11 13:34:14 +01:00
parent 89c2c12074
commit 6e01265e3e
2 changed files with 55 additions and 1 deletions

View File

@@ -0,0 +1,42 @@
package dev.mednikov.social.users.messaging;
import java.time.LocalDateTime;
final class AnalyticsEvent {
private String userId;
private String eventType;
private String timestamp;
AnalyticsEvent (){}
AnalyticsEvent(Long userId, String eventType){
this.userId = userId.toString();
this.eventType = eventType;
this.timestamp = LocalDateTime.now().toString();
}
String getUserId() {
return userId;
}
void setUserId(String userId) {
this.userId = userId;
}
String getEventType() {
return eventType;
}
void setEventType(String eventType) {
this.eventType = eventType;
}
String getTimestamp() {
return timestamp;
}
void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}

View File

@@ -3,6 +3,7 @@ package dev.mednikov.social.users.messaging;
import com.fasterxml.jackson.databind.ObjectMapper;
import dev.mednikov.social.users.events.UserCreatedEvent;
import dev.mednikov.social.users.events.UserUpdatedEvent;
import dev.mednikov.social.users.models.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
@@ -26,10 +27,16 @@ public class MessageService {
@EventListener
@Async
public void onUserCreatedEventListener (UserCreatedEvent event) {
UserPayload payload = new UserPayload(event.getUser());
User user = event.getUser();
Long userId = user.getId();
UserPayload payload = new UserPayload(user);
AnalyticsEvent analyticsEvent = new AnalyticsEvent(userId, "users_created");
try {
String userEncoded = this.objectMapper.writeValueAsString(payload);
String eventEncoded = this.objectMapper.writeValueAsString(analyticsEvent);
this.rabbitTemplate.convertAndSend("", "social_users_created", userEncoded);
this.rabbitTemplate.convertAndSend("", "social_events", eventEncoded);
logger.info("RabbitMQ: User created event sent");
} catch (Exception ex){
logger.error(ex.getMessage());
}
@@ -39,9 +46,14 @@ public class MessageService {
@Async
public void onUserUpdatedEventListener (UserUpdatedEvent event) {
UserPayload payload = new UserPayload(event.getUser());
Long userId = event.getUser().getId();
AnalyticsEvent analyticsEvent = new AnalyticsEvent(userId, "users_updated");
try {
String userEncoded = this.objectMapper.writeValueAsString(payload);
String eventEncoded = this.objectMapper.writeValueAsString(analyticsEvent);
this.rabbitTemplate.convertAndSend("", "social_users_updated", userEncoded);
this.rabbitTemplate.convertAndSend("", "social_events", eventEncoded);
logger.info("RabbitMQ: user updated event sent");
} catch (Exception ex){
logger.error(ex.getMessage());
}