" + responseCode + " или "
- + "перейдите по ссылке";
- return List.of(sendMessage(chat.getId(), message));
- }
- String errorMessage = "Не удалось найти вас в системе. Попробуйте выполнить команду /start";
- return List.of(sendMessage(chat.getId(), errorMessage));
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/command/impl/StartCommand.java b/src/main/java/ru/kayashov/bar/bot/domain/command/impl/StartCommand.java
deleted file mode 100644
index 2fb0a1c..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/command/impl/StartCommand.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package ru.kayashov.bar.bot.domain.command.impl;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.stereotype.Component;
-import ru.kayashov.bar.bot.annotation.CommandData;
-import ru.kayashov.bar.bot.domain.command.api.Command;
-import ru.kayashov.bar.bot.domain.methods.AbstractMethod;
-import ru.kayashov.bar.bot.domain.model.AbstractChat;
-import ru.kayashov.bar.bot.domain.model.AbstractUpdate;
-import ru.kayashov.bar.model.entity.Visitor;
-import ru.kayashov.bar.repository.VisitorsRepository;
-
-import java.util.List;
-import java.util.Optional;
-
-import static ru.kayashov.bar.bot.domain.keyboards.reply.ReplyKeyboardMarker.getMainMenu;
-import static ru.kayashov.bar.bot.domain.utils.MethodUtils.sendKeyboardMessage;
-
-/**
- * Команда обработки запроса меню
- *
- * Реализация {@link }
- */
-@Component
-@CommandData(name = "/start")
-@RequiredArgsConstructor
-public class StartCommand implements Command {
-
- private final VisitorsRepository visitorsRepository;
-
- @Override
- public List extends AbstractMethod> execute(AbstractUpdate abstractUpdate) {
- AbstractChat chat = abstractUpdate.getMessage().getChat();
-
- Optional
- * Реализация {@link Command}
- */
-@Component
-@CommandData(name = "unknownCommand")
-@RequiredArgsConstructor
-public class UnknownCommand implements Command {
-
- @Override
- public List extends AbstractMethod> execute(AbstractUpdate abstractUpdate) {
- return Collections.emptyList();
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/keyboards/inline/InlineKeyboardMarker.java b/src/main/java/ru/kayashov/bar/bot/domain/keyboards/inline/InlineKeyboardMarker.java
deleted file mode 100644
index b7256ce..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/keyboards/inline/InlineKeyboardMarker.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package ru.kayashov.bar.bot.domain.keyboards.inline;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.stereotype.Component;
-import ru.kayashov.bar.bot.domain.model.AbstractKeyboard;
-import ru.kayashov.bar.bot.domain.model.AbstractKeyboardButton;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Класс методов для создания инлайн клавиатур
- */
-@Component
-@RequiredArgsConstructor
-public class InlineKeyboardMarker {
-
- /**
- * Преобразование списка кнопок в блок основных кнопок
- *
- * @param sizeRow опциональный размер строки
- * @param abstractKeyboardButtons список кнопок для блока
- * @return блок основных кнопок
- */
- public List> getMainButtons(Integer sizeRow, List
> buttons = new ArrayList<>();
-
- for (int row = 0; row < rowCountInPage; row++) {
- List
> buttons = new ArrayList<>();
- private List
> mainButtons;
- private List
> buttons) {
- this.mainButtons = buttons;
- return this;
- }
-
- public builder pagination(List
> keyboard = getKeyboardRows(menu);
-
- return AbstractKeyboard.builder()
- .keyboard(keyboard)
- .inputFieldPlaceholder("Меню")
- .resizeKeyboard(true)
- .selective(true)
- .oneTimeKeyboard(false)
- .build();
- }
-
- private static List
> getKeyboardRows(String... buttons) {
- return Arrays
- .stream(buttons)
- .map(x -> List.of(new AbstractKeyboardButton(x)))
- .collect(Collectors.toList());
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractDeleteMessage.java b/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractDeleteMessage.java
deleted file mode 100644
index c435f67..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractDeleteMessage.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package ru.kayashov.bar.bot.domain.methods;
-
-import lombok.Builder;
-import lombok.Getter;
-import ru.kayashov.bar.bot.domain.Bot;
-
-@Getter
-public class AbstractDeleteMessage extends AbstractMethod {
-
- Integer messageId;
-
- @Builder
- public AbstractDeleteMessage(Long chatId, Integer messageId) {
- super(chatId);
- this.messageId = messageId;
- }
-
- @Override
- public void execute(Bot nBot) {
- nBot.deleteMessage(this);
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractInlineKeyboard.java b/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractInlineKeyboard.java
deleted file mode 100644
index 7fada6b..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractInlineKeyboard.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package ru.kayashov.bar.bot.domain.methods;
-
-import lombok.Builder;
-import lombok.Getter;
-import ru.kayashov.bar.bot.domain.Bot;
-import ru.kayashov.bar.bot.domain.model.AbstractKeyboard;
-
-@Getter
-public class AbstractInlineKeyboard extends AbstractMethod {
-
- private final String message;
- private final AbstractKeyboard keyboard;
-
- @Builder
- public AbstractInlineKeyboard(Long chatId, String message, AbstractKeyboard keyboard) {
- super(chatId);
- this.message = message;
- this.keyboard = keyboard;
- }
-
- @Override
- public void execute(Bot nBot) {
- nBot.sendInlineKeyboard(this);
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractMethod.java b/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractMethod.java
deleted file mode 100644
index 6f2d1f4..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractMethod.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package ru.kayashov.bar.bot.domain.methods;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import ru.kayashov.bar.bot.domain.Bot;
-
-@Getter
-@AllArgsConstructor
-public abstract class AbstractMethod {
- private Long chatId;
-
- public abstract void execute(Bot nBot);
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractSendKeyboardMessage.java b/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractSendKeyboardMessage.java
deleted file mode 100644
index e35cfc5..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractSendKeyboardMessage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package ru.kayashov.bar.bot.domain.methods;
-
-import lombok.Builder;
-import lombok.Getter;
-import ru.kayashov.bar.bot.domain.Bot;
-import ru.kayashov.bar.bot.domain.model.AbstractKeyboard;
-
-@Getter
-public class AbstractSendKeyboardMessage extends AbstractMethod {
- String message;
- AbstractKeyboard keyboard;
- @Builder
- public AbstractSendKeyboardMessage(Long chatId, String message, AbstractKeyboard keyboard) {
- super(chatId);
- this.keyboard = keyboard;
- this.message = message;
- }
-
- @Override
- public void execute(Bot nBot) {
- nBot.sendKeyboardMessage(this);
- }
-}
\ No newline at end of file
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractSendMessage.java b/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractSendMessage.java
deleted file mode 100644
index 1fc0ecf..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/methods/AbstractSendMessage.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package ru.kayashov.bar.bot.domain.methods;
-
-import lombok.Builder;
-import lombok.Getter;
-import ru.kayashov.bar.bot.domain.Bot;
-
-@Getter
-public class AbstractSendMessage extends AbstractMethod {
- String message;
- @Builder
- public AbstractSendMessage(Long chatId, String message) {
- super(chatId);
- this.message = message;
- }
-
- public void execute(Bot bot) {
- bot.sendMessage(this);
- }
-}
\ No newline at end of file
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractCallbackQuery.java b/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractCallbackQuery.java
deleted file mode 100644
index 639550c..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractCallbackQuery.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package ru.kayashov.bar.bot.domain.model;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class AbstractCallbackQuery {
- private AbstractMessage message;
- private String data;
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractChat.java b/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractChat.java
deleted file mode 100644
index 87eb481..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractChat.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package ru.kayashov.bar.bot.domain.model;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class AbstractChat {
- private Long id;
- private String firstName;
- private String lastName;
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractKeyboard.java b/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractKeyboard.java
deleted file mode 100644
index 267bcb0..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractKeyboard.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package ru.kayashov.bar.bot.domain.model;
-
-import lombok.Builder;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@Builder
-public class AbstractKeyboard {
- private List
> keyboard;
- private String inputFieldPlaceholder;
- private Boolean resizeKeyboard;
- private Boolean selective;
- private Boolean oneTimeKeyboard;
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractKeyboardButton.java b/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractKeyboardButton.java
deleted file mode 100644
index 0b9379d..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractKeyboardButton.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package ru.kayashov.bar.bot.domain.model;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class AbstractKeyboardButton {
- private String text;
- private String callbackData;
-
- public AbstractKeyboardButton(String text) {
- this.text = text;
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractMessage.java b/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractMessage.java
deleted file mode 100644
index c82065f..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractMessage.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package ru.kayashov.bar.bot.domain.model;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class AbstractMessage {
- private Long chatId;
- private Integer messageId;
- private String message;
- private AbstractChat chat;
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractUpdate.java b/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractUpdate.java
deleted file mode 100644
index f0c56d3..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/model/AbstractUpdate.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package ru.kayashov.bar.bot.domain.model;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class AbstractUpdate {
- private AbstractCallbackQuery callbackQuery;
- private AbstractMessage message;
-
-}
diff --git a/src/main/java/ru/kayashov/bar/bot/domain/utils/MethodUtils.java b/src/main/java/ru/kayashov/bar/bot/domain/utils/MethodUtils.java
deleted file mode 100644
index 9783d17..0000000
--- a/src/main/java/ru/kayashov/bar/bot/domain/utils/MethodUtils.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package ru.kayashov.bar.bot.domain.utils;
-
-import ru.kayashov.bar.bot.domain.methods.AbstractDeleteMessage;
-import ru.kayashov.bar.bot.domain.methods.AbstractInlineKeyboard;
-import ru.kayashov.bar.bot.domain.methods.AbstractSendKeyboardMessage;
-import ru.kayashov.bar.bot.domain.methods.AbstractSendMessage;
-import ru.kayashov.bar.bot.domain.model.AbstractKeyboard;
-
-public class MethodUtils {
-
- public static AbstractDeleteMessage deleteMessage(Long chatId, Integer messageId) {
- return AbstractDeleteMessage.builder()
- .messageId(messageId)
- .chatId(chatId)
- .build();
- }
-
- public static AbstractSendMessage sendMessage(Long chatId, String message) {
- return AbstractSendMessage.builder()
- .message(message)
- .chatId(chatId)
- .build();
- }
-
- public static AbstractSendKeyboardMessage sendKeyboardMessage(Long chatId, String message, AbstractKeyboard keyboard) {
- return AbstractSendKeyboardMessage.builder()
- .keyboard(keyboard)
- .message(message)
- .chatId(chatId)
- .build();
- }
-
- public static AbstractInlineKeyboard sendInlineKeyboard(Long chatId, String message, AbstractKeyboard keyboard) {
- return AbstractInlineKeyboard.builder()
- .keyboard(keyboard)
- .message(message)
- .chatId(chatId)
- .build();
- }
-}
diff --git a/src/main/java/ru/kayashov/bar/config/KafkaConfig.java b/src/main/java/ru/kayashov/bar/config/KafkaConfig.java
new file mode 100644
index 0000000..4d06a56
--- /dev/null
+++ b/src/main/java/ru/kayashov/bar/config/KafkaConfig.java
@@ -0,0 +1,39 @@
+package ru.kayashov.bar.config;
+
+import org.apache.kafka.clients.producer.ProducerConfig;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.kafka.core.DefaultKafkaProducerFactory;
+import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.kafka.core.ProducerFactory;
+import ru.kayashov.bar.model.AbstractSendMessage;
+import ru.kayashov.bar.service.AbstractMessageSerializer;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+public class KafkaConfig {
+
+ @Value("${spring.kafka.bootstrap-servers}")
+ private String bootstrapServers;
+
+ @Bean
+ public ProducerFactory