diff --git a/src/main/java/soapserver/repositories/SubscriptionRepository.java b/src/main/java/soapserver/repositories/SubscriptionRepository.java index 18a2eadab9001140e52d3dfd54dbaee772790155..8ca1ef97718bcf6211e032d39f5f43a1854f2f9b 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 aed8fee3e990fdd75bd792bdb018f288c4c18c09..2d1168200642f3800b3902b8333bb7b9f777452f 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) {