diff --git a/pom.xml b/pom.xml index 99e0126..edcb2e4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.sadtech.autoresponder autoresponder - 1.7.1-SNAPSHOT + 1.8-RELEASE jar diff --git a/src/main/java/org/sadtech/autoresponder/AutoResponder.java b/src/main/java/org/sadtech/autoresponder/AutoResponder.java index 03cc585..34a7685 100644 --- a/src/main/java/org/sadtech/autoresponder/AutoResponder.java +++ b/src/main/java/org/sadtech/autoresponder/AutoResponder.java @@ -45,12 +45,12 @@ public class AutoResponder { /** * Принимает текстовый запрос пользователя и отдает юнит, который соответствует запросу * - * @param personId Идентификатор пользователя + * @param entityId Идентификатор клиента * @param message Запрос пользователя - текстовое сообщение * @return {@link Unit}, который отвечает за данные для обработки данного запроса */ - public Optional answer(@NonNull Integer personId, String message) { - Optional unitPointer = unitPointerService.getByEntityId(personId); + public Optional answer(@NonNull Long entityId, String message) { + Optional unitPointer = unitPointerService.getByEntityId(entityId); Optional unitOpt = nextUnit( !unitPointer.isPresent() || newScenario(unitPointer.get()) ? startUnits : unitPointer.get().getUnit().getNextUnits(), message @@ -58,9 +58,9 @@ public class AutoResponder { if (unitOpt.isPresent()) { U unit = unitOpt.get(); if (unitPointer.isPresent()) { - unitPointerService.edit(personId, unit); + unitPointerService.edit(entityId, unit); } else { - unitPointerService.add(new UnitPointer(personId, unit)); + unitPointerService.add(new UnitPointer(entityId, unit)); } } return unitOpt.isPresent() ? unitOpt : Optional.ofNullable(defaultUnit); diff --git a/src/main/java/org/sadtech/autoresponder/entity/UnitPointer.java b/src/main/java/org/sadtech/autoresponder/entity/UnitPointer.java index a62dff5..d1f6041 100644 --- a/src/main/java/org/sadtech/autoresponder/entity/UnitPointer.java +++ b/src/main/java/org/sadtech/autoresponder/entity/UnitPointer.java @@ -16,7 +16,7 @@ import org.sadtech.autoresponder.util.Description; public class UnitPointer { @Description("Идентификатор пользователя") - private final Integer entityId; + private final Long entityId; @Description("Юнит, который был обработан") private Unit unit; diff --git a/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepository.java b/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepository.java index 1b65f50..477ef62 100644 --- a/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepository.java +++ b/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepository.java @@ -25,6 +25,6 @@ public interface UnitPointerRepository { * @param entityId Идентификатор пользователя * @return Объект с последним обработанным {@link org.sadtech.autoresponder.entity.Unit} для пользователя */ - Optional findByEntityId(@NonNull Integer entityId); + Optional findByEntityId(@NonNull Long entityId); } diff --git a/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepositoryMap.java b/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepositoryMap.java index af25cb1..6a97bd1 100644 --- a/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepositoryMap.java +++ b/src/main/java/org/sadtech/autoresponder/repository/UnitPointerRepositoryMap.java @@ -15,7 +15,7 @@ import java.util.Optional; */ public class UnitPointerRepositoryMap implements UnitPointerRepository { - private Map unitPointerMap = new HashMap<>(); + private Map unitPointerMap = new HashMap<>(); @Override public UnitPointer add(@NonNull UnitPointer unitPointer) { @@ -39,7 +39,7 @@ public class UnitPointerRepositoryMap implements UnitPointerRepository { } @Override - public Optional findByEntityId(@NonNull Integer entityId) { + public Optional findByEntityId(@NonNull Long entityId) { return Optional.ofNullable(unitPointerMap.get(entityId)); } } diff --git a/src/main/java/org/sadtech/autoresponder/service/UnitPointerService.java b/src/main/java/org/sadtech/autoresponder/service/UnitPointerService.java index 307e7d6..8cb1bbd 100644 --- a/src/main/java/org/sadtech/autoresponder/service/UnitPointerService.java +++ b/src/main/java/org/sadtech/autoresponder/service/UnitPointerService.java @@ -21,11 +21,11 @@ public interface UnitPointerService { * @param entityId Идентификатор пользователя * @return true - если найдено */ - boolean check(@NonNull Integer entityId); + boolean check(@NonNull Long entityId); - Optional getByEntityId(@NonNull Integer entityId); + Optional getByEntityId(@NonNull Long entityId); - void edit(@NonNull Integer personId, Unit unit); + void edit(@NonNull Long entityId, Unit unit); } diff --git a/src/main/java/org/sadtech/autoresponder/service/UnitPointerServiceImpl.java b/src/main/java/org/sadtech/autoresponder/service/UnitPointerServiceImpl.java index 728bf30..996d28b 100644 --- a/src/main/java/org/sadtech/autoresponder/service/UnitPointerServiceImpl.java +++ b/src/main/java/org/sadtech/autoresponder/service/UnitPointerServiceImpl.java @@ -16,14 +16,14 @@ public class UnitPointerServiceImpl implements UnitPointerService { private final UnitPointerRepository unitPointerRepository; @Override - public Optional getByEntityId(@NonNull Integer entityId) { + public Optional getByEntityId(@NonNull Long entityId) { return unitPointerRepository.findByEntityId(entityId); } @Override - public void edit(@NonNull Integer personId, Unit unit) { - if (check(personId)) { - unitPointerRepository.edit(new UnitPointer(personId, unit)); + public void edit(@NonNull Long entityId, Unit unit) { + if (check(entityId)) { + unitPointerRepository.edit(new UnitPointer(entityId, unit)); } } @@ -34,7 +34,7 @@ public class UnitPointerServiceImpl implements UnitPointerService { } @Override - public boolean check(@NonNull Integer entityId) { + public boolean check(@NonNull Long entityId) { return unitPointerRepository.findByEntityId(entityId).isPresent(); } } diff --git a/src/test/java/org/sadtech/autoresponder/AutoResponderTest.java b/src/test/java/org/sadtech/autoresponder/AutoResponderTest.java index e6318df..076a90a 100644 --- a/src/test/java/org/sadtech/autoresponder/AutoResponderTest.java +++ b/src/test/java/org/sadtech/autoresponder/AutoResponderTest.java @@ -70,9 +70,9 @@ public class AutoResponderTest { @Test public void simpleAnswer() { - String message = autoresponder.answer(1, "привет это тестирвоание функциональности").orElseThrow(NullPointerException::new).getMessage(); + String message = autoresponder.answer(1L, "привет это тестирвоание функциональности").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("тест", message); - String message1 = autoresponder.answer(2, "привет, еще одно тестирование").orElseThrow(NullPointerException::new).getMessage(); + String message1 = autoresponder.answer(2L, "привет, еще одно тестирование").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("тест", message1); } @@ -81,42 +81,42 @@ public class AutoResponderTest { TestUnit defaultUnit = TestUnit.builder().message("не знаю").build(); autoresponder.setDefaultUnit(defaultUnit); - Assert.assertEquals("не знаю", autoresponder.answer(2, "пока").orElseThrow(NullPointerException::new).getMessage()); + Assert.assertEquals("не знаю", autoresponder.answer(2L, "пока").orElseThrow(NullPointerException::new).getMessage()); } @Test public void notDefaultAnswer() { - Assert.assertEquals(Optional.empty(), autoresponder.answer(2, "пока")); + Assert.assertEquals(Optional.empty(), autoresponder.answer(2L, "пока")); } @Test public void regExpAnswer() { - String message = autoresponder.answer(1, "79101234567").orElseThrow(NullPointerException::new).getMessage(); + String message = autoresponder.answer(1L, "79101234567").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("регулярка", message); } @Test public void priorityAnswer() { - autoresponder.answer(1, "привет"); - autoresponder.answer(2, "привет"); - String message = autoresponder.answer(1, "как твои делишки").orElseThrow(NullPointerException::new).getMessage(); + autoresponder.answer(1L, "привет"); + autoresponder.answer(2L, "привет"); + String message = autoresponder.answer(1L, "как твои делишки").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("отлично", message); - String message1 = autoresponder.answer(2, "твои дела все еще хорошо?").orElseThrow(NullPointerException::new).getMessage(); + String message1 = autoresponder.answer(2L, "твои дела все еще хорошо?").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("хорошо", message1); } @Test public void showRegExpVsKeyWords() { - autoresponder.answer(1, "привет"); - autoresponder.answer(1, "дела"); - Assert.assertEquals("регулярка", autoresponder.answer(1, "89101234567").orElseThrow(NullPointerException::new).getMessage()); + autoresponder.answer(1L, "привет"); + autoresponder.answer(1L, "дела"); + Assert.assertEquals("регулярка", autoresponder.answer(1L, "89101234567").orElseThrow(NullPointerException::new).getMessage()); } @Test public void matchThreshold() { - autoresponder.answer(1, "витамин я сьем, и арбуз получу"); + autoresponder.answer(1L, "витамин я сьем, и арбуз получу"); String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт"; - String answer = autoresponder.answer(1, message).orElseThrow(NullPointerException::new).getMessage(); + String answer = autoresponder.answer(1L, message).orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("победа", answer); } @@ -124,16 +124,16 @@ public class AutoResponderTest { public void generalAnswer() { TestUnit defaultUnit = TestUnit.builder().message("не знаю").build(); autoresponder.setDefaultUnit(defaultUnit); - String answer = autoresponder.answer(1, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); + String answer = autoresponder.answer(1L, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("тест", answer); - Assert.assertEquals("хорошо", autoresponder.answer(1, "как твои дела").orElseThrow(NullPointerException::new).getMessage()); - String answer2 = autoresponder.answer(2, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); + Assert.assertEquals("хорошо", autoresponder.answer(1L, "как твои дела").orElseThrow(NullPointerException::new).getMessage()); + String answer2 = autoresponder.answer(2L, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("тест", answer2); - Assert.assertEquals("не знаю", autoresponder.answer(1, "нет").orElseThrow(NullPointerException::new).getMessage()); + Assert.assertEquals("не знаю", autoresponder.answer(1L, "нет").orElseThrow(NullPointerException::new).getMessage()); String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт"; - Assert.assertEquals("победа", autoresponder.answer(3, message).orElseThrow(NullPointerException::new).getMessage()); - Assert.assertEquals("регулярка", autoresponder.answer(1, "8912345678").orElseThrow(NullPointerException::new).getMessage()); - String answer3 = autoresponder.answer(1, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); + Assert.assertEquals("победа", autoresponder.answer(3L, message).orElseThrow(NullPointerException::new).getMessage()); + Assert.assertEquals("регулярка", autoresponder.answer(1L, "8912345678").orElseThrow(NullPointerException::new).getMessage()); + String answer3 = autoresponder.answer(1L, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); Assert.assertEquals("тест", answer3); }