From 01dab8f171811b928c05b0a3cc11e1302087a906 Mon Sep 17 00:00:00 2001 From: mrsyaban <mrsyaban99@gmail.com> Date: Fri, 17 Nov 2023 14:57:40 +0800 Subject: [PATCH] extend subs --- .../repositories/SubscriptionRepository.java | 23 ++++++++++++------- .../services/SubscriptionService.java | 7 +++--- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/java/soapserver/repositories/SubscriptionRepository.java b/src/main/java/soapserver/repositories/SubscriptionRepository.java index 18a2ead..8ca1ef9 100644 --- a/src/main/java/soapserver/repositories/SubscriptionRepository.java +++ b/src/main/java/soapserver/repositories/SubscriptionRepository.java @@ -1,7 +1,9 @@ package soapserver.repositories; import java.sql.Timestamp; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; import javax.persistence.criteria.CriteriaBuilder; @@ -123,7 +125,7 @@ public class SubscriptionRepository { return false; } } - + public String getExpired(int idUser) { try { SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); @@ -151,8 +153,17 @@ public class SubscriptionRepository { // Check expiration time Timestamp expirationDate = userSubscription.getExpiration_date(); + + //Getting the calendar class instance + Calendar calendar = Calendar.getInstance(); + + // Passing the long value to calendar class function + calendar.setTimeInMillis(expirationDate.getTime()); + + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' hh:mm a"); + String dateToString = df.format(expirationDate.toLocalDateTime()); - return expirationDate.toString(); + return dateToString; } catch (Exception e) { System.out.println(e.getMessage()); return "error"; @@ -160,7 +171,7 @@ public class SubscriptionRepository { } - public boolean extendSubscription(int idUser, int duration) { + public boolean extendSubscription(int idUser) { try { SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFactory.getCurrentSession(); @@ -174,8 +185,6 @@ public class SubscriptionRepository { List<Subscription> userSubData = session.createQuery(criteria).getResultList(); - session.getTransaction().commit(); - if (userSubData.size() <= 0) { return false; } @@ -185,10 +194,8 @@ public class SubscriptionRepository { return false; } - Timestamp expirationDate = userSubscription.getExpiration_date(); - // extend expiration date - userSubscription.setExpiration_date(new Timestamp(expirationDate.getTime() + duration )); + userSubscription.setExpiration_date(new Timestamp(System.currentTimeMillis() + (1000 * 60 * 60)) ); session.save(userSubscription); session.getTransaction().commit(); diff --git a/src/main/java/soapserver/services/SubscriptionService.java b/src/main/java/soapserver/services/SubscriptionService.java index aed8fee..2d11682 100644 --- a/src/main/java/soapserver/services/SubscriptionService.java +++ b/src/main/java/soapserver/services/SubscriptionService.java @@ -64,7 +64,7 @@ public class SubscriptionService { ) { try { String expiredDate = subscriptionRepo.getExpired(idUser); - + return expiredDate; } catch (Exception e) { System.out.println(e.getMessage()); @@ -74,11 +74,10 @@ public class SubscriptionService { @WebMethod public String extendSubscription( - @WebParam(name = "idUser") int idUser, - @WebParam(name = "duration") int duration + @WebParam(name = "idUser") int idUser ) { try { - boolean extended = subscriptionRepo.extendSubscription(idUser, duration); + boolean extended = subscriptionRepo.extendSubscription(idUser); return extended ? "extended success" : "extended failed"; } catch (Exception e) { -- GitLab