From 492a3d4f821f427716eb6ec5f64841b4b2288b01 Mon Sep 17 00:00:00 2001 From: rizwanisready Date: Sun, 5 May 2024 01:03:11 +0530 Subject: [PATCH] Notifications Testing 1 --- goodtimes/webhook.py | 81 +++++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/goodtimes/webhook.py b/goodtimes/webhook.py index c8c3bc8..fd58aff 100644 --- a/goodtimes/webhook.py +++ b/goodtimes/webhook.py @@ -25,6 +25,40 @@ import logging logger = logging.getLogger(__name__) +class NotificationService: + def __init__(self): + self.client = OneSignalClient( + app_id=settings.ONE_SIGNAL_APP_ID, rest_api_key=settings.ONE_SIGNAL_API_KEY + ) + + def send_notification(self, title, message, player_id): + notification_payload = { + "headings": {"en": title}, + "contents": {"en": message}, + "include_player_ids": [player_id], + } + response = self.client.send_notification(notification_payload) + return response + + def payment_success_notification(self, principal, subscription, amount): + print("payment_success_notification: ", principal.player_id) + title = "Payment Successful" + message = f"Your payment for {subscription} of ${amount} was successfully processed. Your subscription is valid till {subscription.end_date}" + self.send_notification(title, message, principal.player_id) + + def referral_received_notification(self, principal, amount, email): + print("referral_received_notification: ", principal.player_id) + title = "Congratulations! You got a referral G-Token." + message = f"Your referral {email} has subscribed to GoodTimesApp. You have received {amount} (£)" + self.send_notification(title, message, principal.player_id) + + def payment_failed_notification(self, principal, subscription, amount): + print("payment_failed_notification: ", principal.player_id) + title = "Payment Failed!" + message = f"Your payment for {subscription} of ${amount} was failed." + self.send_notification(title, message, principal.player_id) + + class WebhookService: def __init__(self, webhook_data): self.webhook_data = webhook_data @@ -66,7 +100,7 @@ class WebhookService: class ReferralRewardService: def __init__(self, principal, principal_subscription, subscription): - # self.notification_service = NotificationService() + self.notification_service = NotificationService() self.principal = principal self.principal_subscription = principal_subscription self.subscription = subscription @@ -102,9 +136,9 @@ class ReferralRewardService: value=amount, ) self._credit_transaction(referral_record.referrer_principal, amount) - # self.notification_service.referral_received_notification( - # referral_record.referrer_principal, amount, self.principal.email - # ) + self.notification_service.referral_received_notification( + referral_record.referrer_principal, amount, self.principal.email + ) def _credit_transaction(self, referrer_principal, amount): print("_credit_transaction: ", referrer_principal) @@ -185,7 +219,7 @@ class SubscriptionService: class PaymentProcessingService: def __init__(self, webhook_data): self.webhook_service = WebhookService(webhook_data) - # self.notification_service = NotificationService() + self.notification_service = NotificationService() # Retrieve objects self.principal = self.webhook_service.get_principal() self.transaction = self.webhook_service.get_transaction() @@ -221,43 +255,12 @@ class PaymentProcessingService: print("Above Third Part...!!!!!!!!!!!") referral_service.credit_referral_reward_if_applicable() print("Third Part Done....!!!!!") - # self.notification_service.payment_success_notification( - # self.principal, self.subscription, self.transaction.amount - # ) + self.notification_service.payment_success_notification( + self.principal, self.subscription, self.transaction.amount + ) def handle_failure(self): self.subscription_service.update_transaction_failure(self.transaction) # self.notification_service.payment_failed_notification( # self.principal, self.subscription, self.transaction.amount # ) - - -class NotificationService: - def __init__(self): - self.client = OneSignalClient( - app_id=settings.ONE_SIGNAL_APP_ID, rest_api_key=settings.ONE_SIGNAL_API_KEY - ) - - def send_notification(self, title, message, player_id): - notification_payload = { - "headings": {"en": title}, - "contents": {"en": message}, - "include_player_ids": player_id, - } - response = self.client.send_notification(notification_payload) - return response - - def payment_success_notification(self, principal, subscription, amount): - title = "Payment Successful" - message = f"Your payment for {subscription} of ${amount} was successfully processed. Your subscription is valid till {subscription.end_date}" - self.send_notification(title, message, principal.player_id) - - def referral_received_notification(self, principal, amount, email): - title = "Congratulations! You got a referral G-Token." - message = f"Your referral {email} has subscribed to GoodTimesApp. You have received {amount} (£)" - self.send_notification(title, message, principal.player_id) - - def payment_failed_notification(self, principal, subscription, amount): - title = "Payment Failed!" - message = f"Your payment for {subscription} of ${amount} was failed." - self.send_notification(title, message, principal.player_id)