Заменен телеграм бот на кафку

This commit is contained in:
Kayashov.SM
2025-04-24 15:17:02 +04:00
parent 704875d297
commit 0f39e22310
35 changed files with 144 additions and 1071 deletions

View File

@@ -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() {
}
}

View 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();
}
}
}

View File

@@ -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;