From 3b9ebf28c63e9ff34604a5014538428bb56035a0 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Fri, 17 Feb 2023 17:57:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB?= =?UTF-8?q?=D0=B8=20domain?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot-context/bot-context-quarkus/pom.xml | 6 +- .../quarkus/context/service/Sending.java | 4 +- .../context/service/SendingService.java | 5 +- bot-context/bot-context-simple/pom.xml | 2 +- .../simple/context/service/Sending.java | 4 +- .../context/service/SendingService.java | 5 +- .../core/action/AnswerCheckAction.java | 3 +- .../quarkus/core/unit/AnswerCheck.java | 3 +- .../quarkus/core/unit/AnswerText.java | 3 +- .../core/unit/func/CallBackConsumer.java | 2 +- .../core/unit/func/ProcessingData.java | 2 +- .../simple/core/action/AnswerCheckAction.java | 2 +- .../simple/core/action/AnswerTextAction.java | 4 +- .../simple/core/pusher/UserSanderPusher.java | 5 +- .../simple/core/unit/AnswerCheck.java | 3 +- .../simple/core/unit/AnswerText.java | 2 +- .../core/unit/func/CallBackConsumer.java | 3 +- .../simple/core/unit/func/ProcessingData.java | 3 +- bot-domain/bot-domain-main/pom.xml | 2 +- bot-domain/bot-domain-quarkus/pom.xml | 32 +++ .../godfather/quarkus/domain/BoxAnswer.java | 209 ++++++++++++++++++ .../godfather/quarkus/domain/SentBox.java | 39 ++++ .../domain/action}/PreSendProcessing.java | 4 +- bot-domain/bot-domain-simple/pom.xml | 27 +++ .../godfather/simple}/domain/BoxAnswer.java | 19 +- .../godfather/simple}/domain/SentBox.java | 2 +- .../domain/action}/PreSendProcessing.java | 4 +- bot-domain/pom.xml | 2 + pom.xml | 13 +- 29 files changed, 377 insertions(+), 37 deletions(-) create mode 100644 bot-domain/bot-domain-quarkus/pom.xml create mode 100644 bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/BoxAnswer.java create mode 100644 bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/SentBox.java rename {bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service => bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/action}/PreSendProcessing.java (57%) create mode 100644 bot-domain/bot-domain-simple/pom.xml rename bot-domain/{bot-domain-main/src/main/java/dev/struchkov/godfather/main => bot-domain-simple/src/main/java/dev/struchkov/godfather/simple}/domain/BoxAnswer.java (94%) rename bot-domain/{bot-domain-main/src/main/java/dev/struchkov/godfather/main => bot-domain-simple/src/main/java/dev/struchkov/godfather/simple}/domain/SentBox.java (95%) rename {bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service => bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/action}/PreSendProcessing.java (50%) diff --git a/bot-context/bot-context-quarkus/pom.xml b/bot-context/bot-context-quarkus/pom.xml index 222b137..30b1108 100644 --- a/bot-context/bot-context-quarkus/pom.xml +++ b/bot-context/bot-context-quarkus/pom.xml @@ -18,7 +18,11 @@ dev.struchkov.godfather - bot-domain-main + bot-domain-quarkus + + + dev.struchkov.godfather + bot-context-main diff --git a/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/Sending.java b/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/Sending.java index 8dbe224..0bbe93c 100644 --- a/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/Sending.java +++ b/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/Sending.java @@ -1,8 +1,8 @@ package dev.struchkov.godfather.quarkus.context.service; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.SendType; -import dev.struchkov.godfather.main.domain.SentBox; +import dev.struchkov.godfather.quarkus.domain.BoxAnswer; +import dev.struchkov.godfather.quarkus.domain.SentBox; import io.smallrye.mutiny.Uni; import org.jetbrains.annotations.NotNull; diff --git a/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/SendingService.java b/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/SendingService.java index 0410c2c..446a442 100644 --- a/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/SendingService.java +++ b/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/SendingService.java @@ -1,7 +1,8 @@ package dev.struchkov.godfather.quarkus.context.service; -import dev.struchkov.godfather.main.domain.BoxAnswer; -import dev.struchkov.godfather.main.domain.SentBox; +import dev.struchkov.godfather.quarkus.domain.BoxAnswer; +import dev.struchkov.godfather.quarkus.domain.SentBox; +import dev.struchkov.godfather.quarkus.domain.action.PreSendProcessing; import io.smallrye.mutiny.Uni; import org.jetbrains.annotations.NotNull; diff --git a/bot-context/bot-context-simple/pom.xml b/bot-context/bot-context-simple/pom.xml index 8567a06..cf61a5c 100644 --- a/bot-context/bot-context-simple/pom.xml +++ b/bot-context/bot-context-simple/pom.xml @@ -18,7 +18,7 @@ dev.struchkov.godfather - bot-domain-main + bot-domain-simple diff --git a/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/Sending.java b/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/Sending.java index 9ec7dea..b1f0807 100644 --- a/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/Sending.java +++ b/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/Sending.java @@ -1,8 +1,8 @@ package dev.struchkov.godfather.simple.context.service; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.SendType; -import dev.struchkov.godfather.main.domain.SentBox; +import dev.struchkov.godfather.simple.domain.BoxAnswer; +import dev.struchkov.godfather.simple.domain.SentBox; import org.jetbrains.annotations.NotNull; import java.util.Optional; diff --git a/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/SendingService.java b/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/SendingService.java index 39bd880..e0e1cda 100644 --- a/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/SendingService.java +++ b/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/SendingService.java @@ -1,7 +1,8 @@ package dev.struchkov.godfather.simple.context.service; -import dev.struchkov.godfather.main.domain.BoxAnswer; -import dev.struchkov.godfather.main.domain.SentBox; +import dev.struchkov.godfather.simple.domain.BoxAnswer; +import dev.struchkov.godfather.simple.domain.SentBox; +import dev.struchkov.godfather.simple.domain.action.PreSendProcessing; import org.jetbrains.annotations.NotNull; import java.util.Optional; diff --git a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/action/AnswerCheckAction.java b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/action/AnswerCheckAction.java index 18ef5b4..84ceb3f 100644 --- a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/action/AnswerCheckAction.java +++ b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/action/AnswerCheckAction.java @@ -1,11 +1,11 @@ package dev.struchkov.godfather.quarkus.core.action; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.content.Message; import dev.struchkov.godfather.quarkus.context.service.Sending; import dev.struchkov.godfather.quarkus.core.unit.AnswerCheck; import dev.struchkov.godfather.quarkus.core.unit.MainUnit; import dev.struchkov.godfather.quarkus.core.unit.UnitRequest; +import dev.struchkov.godfather.quarkus.domain.BoxAnswer; import io.smallrye.mutiny.Uni; import java.util.Objects; @@ -58,4 +58,5 @@ public class AnswerCheckAction implements ActionUnit extends MainUnit { } public static final class Builder { + private String name = UUID.randomUUID().toString(); private String description; diff --git a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/AnswerText.java b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/AnswerText.java index 288904d..131427b 100644 --- a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/AnswerText.java +++ b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/AnswerText.java @@ -3,11 +3,11 @@ package dev.struchkov.godfather.quarkus.core.unit; import dev.struchkov.autoresponder.entity.KeyWord; import dev.struchkov.godfather.main.core.unit.TypeUnit; import dev.struchkov.godfather.main.core.unit.UnitActiveType; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.content.Message; import dev.struchkov.godfather.quarkus.context.service.Accessibility; import dev.struchkov.godfather.quarkus.core.unit.func.CallBackConsumer; import dev.struchkov.godfather.quarkus.core.unit.func.ProcessingData; +import dev.struchkov.godfather.quarkus.domain.BoxAnswer; import io.smallrye.mutiny.Uni; import java.util.HashSet; @@ -242,4 +242,5 @@ public class AnswerText extends MainUnit { } } + } diff --git a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/CallBackConsumer.java b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/CallBackConsumer.java index bb31d85..de1ac72 100644 --- a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/CallBackConsumer.java +++ b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/CallBackConsumer.java @@ -1,6 +1,6 @@ package dev.struchkov.godfather.quarkus.core.unit.func; -import dev.struchkov.godfather.main.domain.SentBox; +import dev.struchkov.godfather.quarkus.domain.SentBox; import io.smallrye.mutiny.Uni; @FunctionalInterface diff --git a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/ProcessingData.java b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/ProcessingData.java index 610db6a..3d457a4 100644 --- a/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/ProcessingData.java +++ b/bot-core/bot-core-quarkus/src/main/java/dev/struchkov/godfather/quarkus/core/unit/func/ProcessingData.java @@ -1,6 +1,6 @@ package dev.struchkov.godfather.quarkus.core.unit.func; -import dev.struchkov.godfather.main.domain.BoxAnswer; +import dev.struchkov.godfather.quarkus.domain.BoxAnswer; import io.smallrye.mutiny.Uni; @FunctionalInterface diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerCheckAction.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerCheckAction.java index ea89e34..9705757 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerCheckAction.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerCheckAction.java @@ -1,11 +1,11 @@ package dev.struchkov.godfather.simple.core.action; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.content.Message; import dev.struchkov.godfather.simple.context.service.Sending; import dev.struchkov.godfather.simple.core.unit.AnswerCheck; import dev.struchkov.godfather.simple.core.unit.MainUnit; import dev.struchkov.godfather.simple.core.unit.UnitRequest; +import dev.struchkov.godfather.simple.domain.BoxAnswer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerTextAction.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerTextAction.java index 987eefe..57799f2 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerTextAction.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/action/AnswerTextAction.java @@ -1,7 +1,5 @@ package dev.struchkov.godfather.simple.core.action; -import dev.struchkov.godfather.main.domain.BoxAnswer; -import dev.struchkov.godfather.main.domain.SentBox; import dev.struchkov.godfather.main.domain.content.Message; import dev.struchkov.godfather.simple.context.service.Sending; import dev.struchkov.godfather.simple.core.unit.AnswerText; @@ -9,6 +7,8 @@ import dev.struchkov.godfather.simple.core.unit.MainUnit; import dev.struchkov.godfather.simple.core.unit.UnitRequest; import dev.struchkov.godfather.simple.core.unit.func.CallBackConsumer; import dev.struchkov.godfather.simple.core.unit.func.ProcessingData; +import dev.struchkov.godfather.simple.domain.BoxAnswer; +import dev.struchkov.godfather.simple.domain.SentBox; import java.util.Optional; diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/pusher/UserSanderPusher.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/pusher/UserSanderPusher.java index a5c2351..fd53c01 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/pusher/UserSanderPusher.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/pusher/UserSanderPusher.java @@ -1,12 +1,13 @@ package dev.struchkov.godfather.simple.core.pusher; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.simple.context.service.Pusher; import dev.struchkov.godfather.simple.context.service.Sending; +import dev.struchkov.godfather.simple.domain.BoxAnswer; import java.util.Map; -import static dev.struchkov.godfather.main.domain.BoxAnswer.boxAnswer; +import static dev.struchkov.godfather.simple.domain.BoxAnswer.boxAnswer; + public class UserSanderPusher implements Pusher { diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerCheck.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerCheck.java index 41ecb91..161f844 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerCheck.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerCheck.java @@ -3,10 +3,10 @@ package dev.struchkov.godfather.simple.core.unit; import dev.struchkov.autoresponder.entity.KeyWord; import dev.struchkov.godfather.main.core.unit.TypeUnit; import dev.struchkov.godfather.main.core.unit.UnitActiveType; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.content.Message; import dev.struchkov.godfather.simple.context.service.Accessibility; import dev.struchkov.godfather.simple.core.unit.func.CheckData; +import dev.struchkov.godfather.simple.domain.BoxAnswer; import java.util.HashSet; import java.util.Set; @@ -95,6 +95,7 @@ public class AnswerCheck extends MainUnit { } public static final class Builder { + private String name = UUID.randomUUID().toString(); private String description; diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerText.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerText.java index 2dca11e..32c3ba5 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerText.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/AnswerText.java @@ -3,11 +3,11 @@ package dev.struchkov.godfather.simple.core.unit; import dev.struchkov.autoresponder.entity.KeyWord; import dev.struchkov.godfather.main.core.unit.TypeUnit; import dev.struchkov.godfather.main.core.unit.UnitActiveType; -import dev.struchkov.godfather.main.domain.BoxAnswer; import dev.struchkov.godfather.main.domain.content.Message; import dev.struchkov.godfather.simple.context.service.Accessibility; import dev.struchkov.godfather.simple.core.unit.func.CallBackConsumer; import dev.struchkov.godfather.simple.core.unit.func.ProcessingData; +import dev.struchkov.godfather.simple.domain.BoxAnswer; import java.util.HashSet; import java.util.List; diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/CallBackConsumer.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/CallBackConsumer.java index cd0cf12..58b698c 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/CallBackConsumer.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/CallBackConsumer.java @@ -1,6 +1,7 @@ package dev.struchkov.godfather.simple.core.unit.func; -import dev.struchkov.godfather.main.domain.SentBox; + +import dev.struchkov.godfather.simple.domain.SentBox; @FunctionalInterface public interface CallBackConsumer { diff --git a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/ProcessingData.java b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/ProcessingData.java index 520458a..a3de325 100644 --- a/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/ProcessingData.java +++ b/bot-core/bot-core-simple/src/main/java/dev/struchkov/godfather/simple/core/unit/func/ProcessingData.java @@ -1,6 +1,7 @@ package dev.struchkov.godfather.simple.core.unit.func; -import dev.struchkov.godfather.main.domain.BoxAnswer; + +import dev.struchkov.godfather.simple.domain.BoxAnswer; import java.util.Optional; diff --git a/bot-domain/bot-domain-main/pom.xml b/bot-domain/bot-domain-main/pom.xml index b8b9b52..a99c83b 100644 --- a/bot-domain/bot-domain-main/pom.xml +++ b/bot-domain/bot-domain-main/pom.xml @@ -1,11 +1,11 @@ + 4.0.0 bot-domain dev.struchkov.godfather 0.0.51-SNAPSHOT - 4.0.0 bot-domain-main diff --git a/bot-domain/bot-domain-quarkus/pom.xml b/bot-domain/bot-domain-quarkus/pom.xml new file mode 100644 index 0000000..6a71102 --- /dev/null +++ b/bot-domain/bot-domain-quarkus/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + dev.struchkov.godfather + bot-domain + 0.0.51-SNAPSHOT + + + bot-domain-quarkus + + + 17 + 17 + UTF-8 + + + + + dev.struchkov.godfather + bot-domain-main + + + + io.smallrye.reactive + smallrye-mutiny-vertx-core + + + + \ No newline at end of file diff --git a/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/BoxAnswer.java b/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/BoxAnswer.java new file mode 100644 index 0000000..ebc58f8 --- /dev/null +++ b/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/BoxAnswer.java @@ -0,0 +1,209 @@ +package dev.struchkov.godfather.quarkus.domain; + + +import dev.struchkov.godfather.main.domain.ContextKey; +import dev.struchkov.godfather.main.domain.keyboard.KeyBoard; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +import static dev.struchkov.haiti.utils.Checker.checkNotNull; +import static dev.struchkov.haiti.utils.Checker.checkNull; + + +/** + * Контейнер, которые содержит данные, которые будут отправлены пользователю как ответ на его запрос. + * + * @author upagge [08/07/2019] + */ +public class BoxAnswer { + + /** + *

Получатель сообщения

+ */ + private String recipientPersonId; + + /** + * Идентификатор сообщения, которое нужно заменить. + */ + private final String replaceMessageId; + + /** + * Клавиатура - меню. + */ + private final KeyBoard keyBoard; + + /** + * Флаг означающий, что надо перезаписать наше последнее отправленное сообщение, вместо отправки нового. + */ + private final boolean replace; + + /** + * Обычное текстовое сообщение. + */ + private String message; + + /** + * Полезная нагрузка для реализаций. + */ + protected Map payload; + + private BoxAnswer(Builder builder) { + message = builder.message; + keyBoard = builder.keyBoard; + replace = builder.replace; + replaceMessageId = builder.replaceMessageId; + recipientPersonId = builder.recipientPersonId; + payload = builder.payload; + } + + public static BoxAnswer boxAnswer(boolean replace, String message) { + return BoxAnswer.builder().replace(replace).message(message).build(); + } + + public static BoxAnswer boxAnswer(boolean replace, String messageText, KeyBoard keyBoard) { + return BoxAnswer.builder().replace(replace).message(messageText).keyBoard(keyBoard).build(); + } + + public static BoxAnswer boxAnswer(String message) { + return boxAnswer(false, message); + } + + public static BoxAnswer boxAnswer(String message, KeyBoard keyBoard) { + return boxAnswer(false, message, keyBoard); + } + + public static BoxAnswer replaceBoxAnswer(String message) { + return boxAnswer(true, message); + } + + public static BoxAnswer replaceBoxAnswer(String message, KeyBoard keyBoard) { + return boxAnswer(true, message, keyBoard); + } + + public static BoxAnswer replaceBoxAnswer(String messageId, String message) { + return BoxAnswer.builder().replace(true).replaceMessageId(messageId).message(message).build(); + } + + public static BoxAnswer replaceBoxAnswer(String messageId, String message, KeyBoard keyBoard) { + return BoxAnswer.builder().replace(true).replaceMessageId(messageId).message(message).keyBoard(keyBoard).build(); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder replaceBuilder() { + return new Builder().replace(true); + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public KeyBoard getKeyBoard() { + return keyBoard; + } + + public boolean isReplace() { + return replace; + } + + public String getReplaceMessageId() { + return replaceMessageId; + } + + public String getRecipientPersonId() { + return recipientPersonId; + } + + public void setRecipientPersonId(String recipientPersonId) { + this.recipientPersonId = recipientPersonId; + } + + public void setRecipientIfNull(String recipientPersonId) { + if (checkNull(this.recipientPersonId)) { + this.recipientPersonId = recipientPersonId; + } + } + + public Map getPayload() { + return payload; + } + + public void setPayload(ContextKey key, T value) { + if (checkNotNull(value)) { + payload.put(key, value); + } + } + + public Optional getPayLoad(ContextKey contextKey) { + return Optional.ofNullable(payload.get(contextKey)) + .map(value -> (T) value); + } + + @Override + public String toString() { + return "BoxAnswer{" + + "message='" + message + '\'' + + ", keyBoard=" + keyBoard + + ", replace=" + replace + + '}'; + } + + public static final class Builder { + + private String message; + private KeyBoard keyBoard; + private boolean replace; + private String replaceMessageId; + private String recipientPersonId; + private Map payload = new HashMap<>(); + + private Builder() { + } + + public Builder message(String val) { + message = val; + return this; + } + + public Builder keyBoard(KeyBoard val) { + keyBoard = val; + return this; + } + + public Builder replace(boolean val) { + replace = val; + return this; + } + + public Builder recipientPersonId(String val) { + recipientPersonId = val; + return this; + } + + public Builder replaceMessageId(String val) { + replaceMessageId = val; + return this; + } + + public Builder payload(ContextKey key, T value) { + if (checkNotNull(value)) { + payload.put(key, value); + } + return this; + } + + public BoxAnswer build() { + return new BoxAnswer(this); + } + + } + +} diff --git a/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/SentBox.java b/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/SentBox.java new file mode 100644 index 0000000..71307ea --- /dev/null +++ b/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/SentBox.java @@ -0,0 +1,39 @@ +package dev.struchkov.godfather.quarkus.domain; + +import java.util.Optional; + +public class SentBox { + + private String personId; + private String messageId; + private BoxAnswer sentAnswer; + private BoxAnswer originalAnswer; + + public SentBox(String personId, String messageId, BoxAnswer sentAnswer, BoxAnswer originalAnswer) { + this.personId = personId; + this.messageId = messageId; + this.sentAnswer = sentAnswer; + this.originalAnswer = originalAnswer; + } + + public static Optional optional(String personId, String messageId, BoxAnswer sentAnswer, BoxAnswer originalAnswer) { + return Optional.of(new SentBox(personId, messageId, sentAnswer, originalAnswer)); + } + + public String getPersonId() { + return personId; + } + + public String getMessageId() { + return messageId; + } + + public BoxAnswer getSentAnswer() { + return sentAnswer; + } + + public BoxAnswer getOriginalAnswer() { + return originalAnswer; + } + +} diff --git a/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/PreSendProcessing.java b/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/action/PreSendProcessing.java similarity index 57% rename from bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/PreSendProcessing.java rename to bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/action/PreSendProcessing.java index de46175..026ebfe 100644 --- a/bot-context/bot-context-quarkus/src/main/java/dev/struchkov/godfather/quarkus/context/service/PreSendProcessing.java +++ b/bot-domain/bot-domain-quarkus/src/main/java/dev/struchkov/godfather/quarkus/domain/action/PreSendProcessing.java @@ -1,6 +1,6 @@ -package dev.struchkov.godfather.quarkus.context.service; +package dev.struchkov.godfather.quarkus.domain.action; -import dev.struchkov.godfather.main.domain.BoxAnswer; +import dev.struchkov.godfather.quarkus.domain.BoxAnswer; import io.smallrye.mutiny.Uni; @FunctionalInterface diff --git a/bot-domain/bot-domain-simple/pom.xml b/bot-domain/bot-domain-simple/pom.xml new file mode 100644 index 0000000..ad6e554 --- /dev/null +++ b/bot-domain/bot-domain-simple/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + dev.struchkov.godfather + bot-domain + 0.0.51-SNAPSHOT + + + bot-domain-simple + + + 17 + 17 + UTF-8 + + + + + dev.struchkov.godfather + bot-domain-main + + + + \ No newline at end of file diff --git a/bot-domain/bot-domain-main/src/main/java/dev/struchkov/godfather/main/domain/BoxAnswer.java b/bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/BoxAnswer.java similarity index 94% rename from bot-domain/bot-domain-main/src/main/java/dev/struchkov/godfather/main/domain/BoxAnswer.java rename to bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/BoxAnswer.java index aa6c5d8..09a7a1d 100644 --- a/bot-domain/bot-domain-main/src/main/java/dev/struchkov/godfather/main/domain/BoxAnswer.java +++ b/bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/BoxAnswer.java @@ -1,5 +1,6 @@ -package dev.struchkov.godfather.main.domain; +package dev.struchkov.godfather.simple.domain; +import dev.struchkov.godfather.main.domain.ContextKey; import dev.struchkov.godfather.main.domain.keyboard.KeyBoard; import java.util.HashMap; @@ -16,6 +17,16 @@ import static dev.struchkov.haiti.utils.Checker.checkNull; */ public class BoxAnswer { + /** + *

Получатель сообщения

+ */ + private String recipientPersonId; + + /** + * Идентификатор сообщения, которое нужно заменить. + */ + private final String replaceMessageId; + /** * Клавиатура - меню. */ @@ -26,18 +37,14 @@ public class BoxAnswer { */ private final boolean replace; - private final String replaceMessageId; - /** * Обычное текстовое сообщение. */ private String message; /** - *

Получатель сообщения

+ * Полезная нагрузка для реализаций. */ - private String recipientPersonId; - protected Map payload; private BoxAnswer(Builder builder) { diff --git a/bot-domain/bot-domain-main/src/main/java/dev/struchkov/godfather/main/domain/SentBox.java b/bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/SentBox.java similarity index 95% rename from bot-domain/bot-domain-main/src/main/java/dev/struchkov/godfather/main/domain/SentBox.java rename to bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/SentBox.java index 74babf2..fe7161f 100644 --- a/bot-domain/bot-domain-main/src/main/java/dev/struchkov/godfather/main/domain/SentBox.java +++ b/bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/SentBox.java @@ -1,4 +1,4 @@ -package dev.struchkov.godfather.main.domain; +package dev.struchkov.godfather.simple.domain; import java.util.Optional; diff --git a/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/PreSendProcessing.java b/bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/action/PreSendProcessing.java similarity index 50% rename from bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/PreSendProcessing.java rename to bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/action/PreSendProcessing.java index af32a07..5280360 100644 --- a/bot-context/bot-context-simple/src/main/java/dev/struchkov/godfather/simple/context/service/PreSendProcessing.java +++ b/bot-domain/bot-domain-simple/src/main/java/dev/struchkov/godfather/simple/domain/action/PreSendProcessing.java @@ -1,6 +1,6 @@ -package dev.struchkov.godfather.simple.context.service; +package dev.struchkov.godfather.simple.domain.action; -import dev.struchkov.godfather.main.domain.BoxAnswer; +import dev.struchkov.godfather.simple.domain.BoxAnswer; @FunctionalInterface public interface PreSendProcessing { diff --git a/bot-domain/pom.xml b/bot-domain/pom.xml index 872ba06..0ef2cc8 100644 --- a/bot-domain/pom.xml +++ b/bot-domain/pom.xml @@ -11,6 +11,8 @@ pom bot-domain-main + bot-domain-quarkus + bot-domain-simple diff --git a/pom.xml b/pom.xml index c9a4dfb..b619054 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 dev.struchkov.godfather @@ -64,6 +65,16 @@ bot-domain-main ${project.version}
+ + dev.struchkov.godfather + bot-domain-quarkus + ${project.version} + + + dev.struchkov.godfather + bot-domain-simple + ${project.version} + dev.struchkov.godfather