refactor: Extract common logic in handle functions of BookEditingServiceImpl

This commit is contained in:
2025-02-08 23:37:45 +03:00
parent e97f4eb92c
commit be6d0ce68f
@@ -48,25 +48,23 @@ public class BookEditingServiceImpl implements BookEditingService {
}
}
public void handleEditTitle(BotUser user) {
private void handleEditField(BotUser user, BookEditStateCache.BookEditState editState, String message) {
var bookCache = bookCacheService.getBookEditCache(user.getId());
bookCache.setBookEditState(BookEditStateCache.BookEditState.EDITING_TITLE);
bookCache.setBookEditState(editState);
bookCacheService.updateBookEditCache(user.getId(), bookCache);
telegramClientService.sendMessage(user, "Введите новое название:");
telegramClientService.sendMessage(user, message);
}
public void handleEditTitle(BotUser user) {
handleEditField(user, BookEditStateCache.BookEditState.EDITING_TITLE, "Введите новое название:");
}
public void handleEditAuthor(BotUser user) {
var bookCache = bookCacheService.getBookEditCache(user.getId());
bookCache.setBookEditState(BookEditStateCache.BookEditState.EDITING_AUTHOR);
bookCacheService.updateBookEditCache(user.getId(), bookCache);
telegramClientService.sendMessage(user, "Введите нового автора:");
handleEditField(user, BookEditStateCache.BookEditState.EDITING_AUTHOR, "Введите нового автора:");
}
public void handleEditRating(BotUser user) {
var bookCache = bookCacheService.getBookEditCache(user.getId());
bookCache.setBookEditState(BookEditStateCache.BookEditState.EDITING_RATING);
bookCacheService.updateBookEditCache(user.getId(), bookCache);
telegramClientService.sendMessage(user, "Введите рейтинг:");
handleEditField(user, BookEditStateCache.BookEditState.EDITING_RATING, "Введите рейтинг:");
}
private void updateBookField(BotUser user, String newValue, String fieldName) {