public function save($id, Request $request)
 {
     $review = $this->customerReviewRepository->getById($id);
     if (!$review) {
         $review = new CustomerReview();
     }
     $review->fill($request->all());
     $review->save();
     return $this->json->success('Review Saved Successfully ...');
 }
 public function processReviews(Request $request)
 {
     $data = $request->get('reviews');
     $fileContents = trim($data);
     if (empty($fileContents)) {
         return $this->json->error('Paste Box Must Not Be Empty ...');
     }
     $fileLines = explode("\r\n", $fileContents);
     $fileLines = explode("\r", $fileContents);
     $maxLineCount = count($fileLines);
     $user = Auth::user();
     for ($x = 0; $x < $maxLineCount; $x++) {
         $url = $fileLines[$x];
         $urlExploded = explode('/', $url);
         $urlArray = parse_url($url);
         if (!is_array($urlArray) or !isset($urlArray['query'])) {
             continue;
         }
         $buyerId = $urlExploded[5];
         parse_str($urlArray['query'], $query);
         $sku = $query['ASIN'];
         $sku = str_replace('-', '', $sku);
         $customer = Customer::whereBuyerId($buyerId)->first();
         if (!$customer) {
             continue;
         }
         $product = AmazonProduct::whereSku($sku)->first();
         if (!$product) {
             continue;
         }
         $customerReview = CustomerReview::where('customer_id', '=', $customer->id)->where('amazon_product_id', '=', $product->id)->first();
         if ($customerReview) {
             continue;
         }
         $customerReview = new CustomerReview();
         $customerReview->customer_id = $customer->id;
         $customerReview->amazon_product_id = $product->id;
         $customerReview->link = $url;
         $customerReview->save();
     }
     return $this->json->success('SUCCESS!!! Import data done ....');
 }