diff --git a/src/service/notification.rs b/src/service/notification.rs
index a86cef6f8dded321c2d90def0a9453d04f7b74df..23dc169e60527e5b101df28acc9c296ec8f22b80 100644
--- a/src/service/notification.rs
+++ b/src/service/notification.rs
@@ -1,5 +1,15 @@
+use bambangshop::Result;
+
+use crate::{model::subscriber::Subscriber, repository::subscriber::SubscriberRepository};
+
 pub struct NotificationService;
 
 impl NotificationService {
-    
+    pub fn subscribe(product_type: &str, subscriber: Subscriber) -> Result<Subscriber> {
+        let product_type_upper = product_type.to_uppercase();
+        let product_type_str = product_type_upper.as_str();
+        let subscriber_result = SubscriberRepository::add(product_type_str, subscriber);
+
+        return  Ok(subscriber_result);
+    }
 }
\ No newline at end of file