diff --git a/src/controller/notification.rs b/src/controller/notification.rs
index 9cc0c6a7fd2b5f0e9b1da1c71187a0c97cf4bb72..f331102e6ff3acfae4fd8df3afeedf600532368e 100644
--- a/src/controller/notification.rs
+++ b/src/controller/notification.rs
@@ -5,8 +5,6 @@ use crate::model::subscriber::Subscriber;
 use crate::service::notification::NotificationService;
 use bambangshop::Result;
 
-use super::product;
-
 #[post("/subscribe/<product_type>", data = "<subscriber>")]
  pub fn subscribe(
      product_type: &str,
diff --git a/src/service/product.rs b/src/service/product.rs
index 8369537b02b9dab7576202c88f9c447a084c1a74..88a228eb9a17036890312987a25fdcd113ae9c7c 100644
--- a/src/service/product.rs
+++ b/src/service/product.rs
@@ -14,6 +14,12 @@ impl ProductService {
         product.product_type = product.product_type.to_uppercase();
         let product_result: Product = ProductRepository::add(product);
 
+        NotificationService.notify(
+            &product_result.product_type,
+            "CREATED",
+            product_result.clone(),
+        );
+
         return Ok(product_result);
     }
 
@@ -42,6 +48,8 @@ impl ProductService {
         }
         let product: Product = product_opt.unwrap();
 
+        NotificationService.notify(&product.product_type, "DELETED", product.clone());
+
         return Ok(Json::from(product));
     }