diff options
Diffstat (limited to 'src/main/java/files/DataBase.java')
-rw-r--r-- | src/main/java/files/DataBase.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/files/DataBase.java b/src/main/java/files/DataBase.java new file mode 100644 index 0000000..d457d23 --- /dev/null +++ b/src/main/java/files/DataBase.java @@ -0,0 +1,49 @@ +package files; + +import com.pengrad.telegrambot.model.Update; +import com.pengrad.telegrambot.model.User; + +import files.entity.TelegramUser; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class DataBase { + public static EntityManager connectionCreate() { + EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("animarfo"); + return entityManagerFactory.createEntityManager(); + } + + public static void connectionDestroy(EntityManager entityManager) { + entityManager.close(); + } + + public static boolean checkIfUserNotExists(Long telegramId) { + EntityManager manager = connectionCreate(); + return (manager.find(TelegramUser.class, telegramId) == null); + } + + public static void saveUser(Update update) { + User user = update.message().from(); + Long telegramId = user.id(); + String fullName = user.firstName() + TelegramUser.checkIfHasLastName(user); + Boolean isBot = user.isBot(); + String username = user.username(); + String date = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new Date(update.message().date() * 1000L)); + + if (DataBase.checkIfUserNotExists(telegramId)) { + EntityManager entityManager = DataBase.connectionCreate(); + + TelegramUser telegramUser = new TelegramUser(telegramId, username, isBot, fullName, date); + + entityManager.getTransaction().begin(); + entityManager.merge(telegramUser); + entityManager.getTransaction().commit(); + + DataBase.connectionDestroy(entityManager); + } + } +} |