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