summaryrefslogtreecommitdiff
path: root/src/main/java/files/DataBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/files/DataBase.java')
-rw-r--r--src/main/java/files/DataBase.java49
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);
+ }
+ }
+}