Изменил тип идентификатора с Int на Long

This commit is contained in:
Mark Struchkov 2020-02-02 09:46:01 +03:00
parent c4426d8e75
commit cd5a461398
8 changed files with 39 additions and 39 deletions

View File

@ -6,7 +6,7 @@
<groupId>org.sadtech.autoresponder</groupId> <groupId>org.sadtech.autoresponder</groupId>
<artifactId>autoresponder</artifactId> <artifactId>autoresponder</artifactId>
<version>1.7.1-SNAPSHOT</version> <version>1.8-RELEASE</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<build> <build>
<plugins> <plugins>

View File

@ -45,12 +45,12 @@ public class AutoResponder<U extends Unit> {
/** /**
* Принимает текстовый запрос пользователя и отдает юнит, который соответствует запросу * Принимает текстовый запрос пользователя и отдает юнит, который соответствует запросу
* *
* @param personId Идентификатор пользователя * @param entityId Идентификатор клиента
* @param message Запрос пользователя - текстовое сообщение * @param message Запрос пользователя - текстовое сообщение
* @return {@link Unit}, который отвечает за данные для обработки данного запроса * @return {@link Unit}, который отвечает за данные для обработки данного запроса
*/ */
public Optional<U> answer(@NonNull Integer personId, String message) { public Optional<U> answer(@NonNull Long entityId, String message) {
Optional<UnitPointer> unitPointer = unitPointerService.getByEntityId(personId); Optional<UnitPointer> unitPointer = unitPointerService.getByEntityId(entityId);
Optional<U> unitOpt = nextUnit( Optional<U> unitOpt = nextUnit(
!unitPointer.isPresent() || newScenario(unitPointer.get()) ? startUnits : unitPointer.get().getUnit().getNextUnits(), !unitPointer.isPresent() || newScenario(unitPointer.get()) ? startUnits : unitPointer.get().getUnit().getNextUnits(),
message message
@ -58,9 +58,9 @@ public class AutoResponder<U extends Unit> {
if (unitOpt.isPresent()) { if (unitOpt.isPresent()) {
U unit = unitOpt.get(); U unit = unitOpt.get();
if (unitPointer.isPresent()) { if (unitPointer.isPresent()) {
unitPointerService.edit(personId, unit); unitPointerService.edit(entityId, unit);
} else { } else {
unitPointerService.add(new UnitPointer(personId, unit)); unitPointerService.add(new UnitPointer(entityId, unit));
} }
} }
return unitOpt.isPresent() ? unitOpt : Optional.ofNullable(defaultUnit); return unitOpt.isPresent() ? unitOpt : Optional.ofNullable(defaultUnit);

View File

@ -16,7 +16,7 @@ import org.sadtech.autoresponder.util.Description;
public class UnitPointer { public class UnitPointer {
@Description("Идентификатор пользователя") @Description("Идентификатор пользователя")
private final Integer entityId; private final Long entityId;
@Description("Юнит, который был обработан") @Description("Юнит, который был обработан")
private Unit unit; private Unit unit;

View File

@ -25,6 +25,6 @@ public interface UnitPointerRepository {
* @param entityId Идентификатор пользователя * @param entityId Идентификатор пользователя
* @return Объект с последним обработанным {@link org.sadtech.autoresponder.entity.Unit} для пользователя * @return Объект с последним обработанным {@link org.sadtech.autoresponder.entity.Unit} для пользователя
*/ */
Optional<UnitPointer> findByEntityId(@NonNull Integer entityId); Optional<UnitPointer> findByEntityId(@NonNull Long entityId);
} }

View File

@ -15,7 +15,7 @@ import java.util.Optional;
*/ */
public class UnitPointerRepositoryMap implements UnitPointerRepository { public class UnitPointerRepositoryMap implements UnitPointerRepository {
private Map<Integer, UnitPointer> unitPointerMap = new HashMap<>(); private Map<Long, UnitPointer> unitPointerMap = new HashMap<>();
@Override @Override
public UnitPointer add(@NonNull UnitPointer unitPointer) { public UnitPointer add(@NonNull UnitPointer unitPointer) {
@ -39,7 +39,7 @@ public class UnitPointerRepositoryMap implements UnitPointerRepository {
} }
@Override @Override
public Optional<UnitPointer> findByEntityId(@NonNull Integer entityId) { public Optional<UnitPointer> findByEntityId(@NonNull Long entityId) {
return Optional.ofNullable(unitPointerMap.get(entityId)); return Optional.ofNullable(unitPointerMap.get(entityId));
} }
} }

View File

@ -21,11 +21,11 @@ public interface UnitPointerService {
* @param entityId Идентификатор пользователя * @param entityId Идентификатор пользователя
* @return true - если найдено * @return true - если найдено
*/ */
boolean check(@NonNull Integer entityId); boolean check(@NonNull Long entityId);
Optional<UnitPointer> getByEntityId(@NonNull Integer entityId); Optional<UnitPointer> getByEntityId(@NonNull Long entityId);
void edit(@NonNull Integer personId, Unit unit); void edit(@NonNull Long entityId, Unit unit);
} }

View File

@ -16,14 +16,14 @@ public class UnitPointerServiceImpl implements UnitPointerService {
private final UnitPointerRepository unitPointerRepository; private final UnitPointerRepository unitPointerRepository;
@Override @Override
public Optional<UnitPointer> getByEntityId(@NonNull Integer entityId) { public Optional<UnitPointer> getByEntityId(@NonNull Long entityId) {
return unitPointerRepository.findByEntityId(entityId); return unitPointerRepository.findByEntityId(entityId);
} }
@Override @Override
public void edit(@NonNull Integer personId, Unit unit) { public void edit(@NonNull Long entityId, Unit unit) {
if (check(personId)) { if (check(entityId)) {
unitPointerRepository.edit(new UnitPointer(personId, unit)); unitPointerRepository.edit(new UnitPointer(entityId, unit));
} }
} }
@ -34,7 +34,7 @@ public class UnitPointerServiceImpl implements UnitPointerService {
} }
@Override @Override
public boolean check(@NonNull Integer entityId) { public boolean check(@NonNull Long entityId) {
return unitPointerRepository.findByEntityId(entityId).isPresent(); return unitPointerRepository.findByEntityId(entityId).isPresent();
} }
} }

View File

@ -70,9 +70,9 @@ public class AutoResponderTest {
@Test @Test
public void simpleAnswer() { public void simpleAnswer() {
String message = autoresponder.answer(1, "привет это тестирвоание функциональности").orElseThrow(NullPointerException::new).getMessage(); String message = autoresponder.answer(1L, "привет это тестирвоание функциональности").orElseThrow(NullPointerException::new).getMessage();
Assert.assertEquals("тест", message); Assert.assertEquals("тест", message);
String message1 = autoresponder.answer(2, "привет, еще одно тестирование").orElseThrow(NullPointerException::new).getMessage(); String message1 = autoresponder.answer(2L, "привет, еще одно тестирование").orElseThrow(NullPointerException::new).getMessage();
Assert.assertEquals("тест", message1); Assert.assertEquals("тест", message1);
} }
@ -81,42 +81,42 @@ public class AutoResponderTest {
TestUnit defaultUnit = TestUnit.builder().message("не знаю").build(); TestUnit defaultUnit = TestUnit.builder().message("не знаю").build();
autoresponder.setDefaultUnit(defaultUnit); autoresponder.setDefaultUnit(defaultUnit);
Assert.assertEquals("не знаю", autoresponder.answer(2, "пока").orElseThrow(NullPointerException::new).getMessage()); Assert.assertEquals("не знаю", autoresponder.answer(2L, "пока").orElseThrow(NullPointerException::new).getMessage());
} }
@Test @Test
public void notDefaultAnswer() { public void notDefaultAnswer() {
Assert.assertEquals(Optional.empty(), autoresponder.answer(2, "пока")); Assert.assertEquals(Optional.empty(), autoresponder.answer(2L, "пока"));
} }
@Test @Test
public void regExpAnswer() { 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); Assert.assertEquals("регулярка", message);
} }
@Test @Test
public void priorityAnswer() { public void priorityAnswer() {
autoresponder.answer(1, "привет"); autoresponder.answer(1L, "привет");
autoresponder.answer(2, "привет"); autoresponder.answer(2L, "привет");
String message = autoresponder.answer(1, "как твои делишки").orElseThrow(NullPointerException::new).getMessage(); String message = autoresponder.answer(1L, "как твои делишки").orElseThrow(NullPointerException::new).getMessage();
Assert.assertEquals("отлично", message); Assert.assertEquals("отлично", message);
String message1 = autoresponder.answer(2, "твои дела все еще хорошо?").orElseThrow(NullPointerException::new).getMessage(); String message1 = autoresponder.answer(2L, "твои дела все еще хорошо?").orElseThrow(NullPointerException::new).getMessage();
Assert.assertEquals("хорошо", message1); Assert.assertEquals("хорошо", message1);
} }
@Test @Test
public void showRegExpVsKeyWords() { public void showRegExpVsKeyWords() {
autoresponder.answer(1, "привет"); autoresponder.answer(1L, "привет");
autoresponder.answer(1, "дела"); autoresponder.answer(1L, "дела");
Assert.assertEquals("регулярка", autoresponder.answer(1, "89101234567").orElseThrow(NullPointerException::new).getMessage()); Assert.assertEquals("регулярка", autoresponder.answer(1L, "89101234567").orElseThrow(NullPointerException::new).getMessage());
} }
@Test @Test
public void matchThreshold() { public void matchThreshold() {
autoresponder.answer(1, "витамин я сьем, и арбуз получу"); autoresponder.answer(1L, "витамин я сьем, и арбуз получу");
String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт"; 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); Assert.assertEquals("победа", answer);
} }
@ -124,16 +124,16 @@ public class AutoResponderTest {
public void generalAnswer() { public void generalAnswer() {
TestUnit defaultUnit = TestUnit.builder().message("не знаю").build(); TestUnit defaultUnit = TestUnit.builder().message("не знаю").build();
autoresponder.setDefaultUnit(defaultUnit); 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("тест", answer);
Assert.assertEquals("хорошо", autoresponder.answer(1, "как твои дела").orElseThrow(NullPointerException::new).getMessage()); Assert.assertEquals("хорошо", autoresponder.answer(1L, "как твои дела").orElseThrow(NullPointerException::new).getMessage());
String answer2 = autoresponder.answer(2, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); String answer2 = autoresponder.answer(2L, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage();
Assert.assertEquals("тест", answer2); Assert.assertEquals("тест", answer2);
Assert.assertEquals("не знаю", autoresponder.answer(1, "нет").orElseThrow(NullPointerException::new).getMessage()); Assert.assertEquals("не знаю", autoresponder.answer(1L, "нет").orElseThrow(NullPointerException::new).getMessage());
String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт"; String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт";
Assert.assertEquals("победа", autoresponder.answer(3, message).orElseThrow(NullPointerException::new).getMessage()); Assert.assertEquals("победа", autoresponder.answer(3L, message).orElseThrow(NullPointerException::new).getMessage());
Assert.assertEquals("регулярка", autoresponder.answer(1, "8912345678").orElseThrow(NullPointerException::new).getMessage()); Assert.assertEquals("регулярка", autoresponder.answer(1L, "8912345678").orElseThrow(NullPointerException::new).getMessage());
String answer3 = autoresponder.answer(1, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage(); String answer3 = autoresponder.answer(1L, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage();
Assert.assertEquals("тест", answer3); Assert.assertEquals("тест", answer3);
} }