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); } } }