summaryrefslogtreecommitdiff
path: root/src/main/java/files/DataBase.java
blob: d457d231884c1c3e3066918a5ff339422154eb4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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);
        }
    }
}