Заменен телеграм бот на кафку
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package ru.kayashov.bar.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.kafka.common.errors.SerializationException;
|
||||
import org.apache.kafka.common.header.Headers;
|
||||
import org.apache.kafka.common.serialization.Serializer;
|
||||
import ru.kayashov.bar.model.AbstractSendMessage;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
public class AbstractMessageSerializer implements Serializer<AbstractSendMessage> {
|
||||
|
||||
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
@Override
|
||||
public void configure(Map<String, ?> configs, boolean isKey) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] serialize(String topic, AbstractSendMessage data) {
|
||||
try {
|
||||
if (data == null){
|
||||
log.warn("Отсутствует объект для отправки сообщения");
|
||||
return null;
|
||||
}
|
||||
return objectMapper.writeValueAsBytes(data);
|
||||
} catch (Exception e) {
|
||||
throw new SerializationException("Ошибка сериализации объекта");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] serialize(String topic, Headers headers, AbstractSendMessage data) {
|
||||
return Serializer.super.serialize(topic, headers, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
}
|
||||
}
|
||||
28
src/main/java/ru/kayashov/bar/service/KafkaSender.java
Normal file
28
src/main/java/ru/kayashov/bar/service/KafkaSender.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package ru.kayashov.bar.service;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.kafka.core.KafkaTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.kayashov.bar.model.AbstractSendMessage;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class KafkaSender {
|
||||
|
||||
private final KafkaTemplate<String, AbstractSendMessage> kafkaTemplate;
|
||||
|
||||
public String send(String topic, AbstractSendMessage message) {
|
||||
try {
|
||||
kafkaTemplate.send(topic, message);
|
||||
log.info("отправлено сообщение в топик {}, сообщение {}", topic, message.getMessage());
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), Arrays.toString(e.getStackTrace()));
|
||||
return e.getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package ru.kayashov.bar.service;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.kayashov.bar.bot.domain.methods.AbstractSendMessage;
|
||||
import ru.kayashov.bar.model.AbstractSendMessage;
|
||||
import ru.kayashov.bar.model.entity.BarEntity;
|
||||
import ru.kayashov.bar.model.entity.BarResident;
|
||||
import ru.kayashov.bar.model.entity.CocktailEntity;
|
||||
@@ -11,7 +11,6 @@ import ru.kayashov.bar.model.entity.SessionEntity;
|
||||
import ru.kayashov.bar.model.entity.Visitor;
|
||||
import ru.kayashov.bar.repository.CocktailRepository;
|
||||
import ru.kayashov.bar.repository.OrdersRepository;
|
||||
import ru.kayashov.bar.repository.VisitorsRepository;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user