public function run() { $count = Wine::where('group_id', 0)->count(); echo "Operating wines number : {$count} wines" . PHP_EOL; Wine::where('group_id', 0)->chunk(100, function ($wines) { foreach ($wines as $wine) { echo "Handling: {$wine->rakuten_id}"; $start = time(); $request = curl_init('http://54.64.177.240:8888/api/match'); curl_setopt($request, CURLOPT_POST, true); curl_setopt($request, CURLOPT_POSTFIELDS, array('img' => "@" . $wine->local_path)); curl_setopt($request, CURLOPT_RETURNTRANSFER, true); $result = json_decode(curl_exec($request)); $matched_wines = $result->matches; $matched_rakuten_ids = array(); foreach ($matched_wines as $matched_wine) { $matched_id = $matched_wine->id; $num_of_match = $matched_wine->numMatches; if ($num_of_match < 10) { continue; } $rakuten_paths = explode('_', $matched_id); if (count($rakuten_paths) < 2) { continue; } $matched_rakuten_ids[] = join('_', array('rakuten', $rakuten_paths[0], $rakuten_paths[1])); } if (count($matched_rakuten_ids) == 0) { echo "No Matched Wines to group" . PHP_EOL; continue; } echo "Num of matched wines : " . count($matched_rakuten_ids) . ". Now updating group" . PHP_EOL; $group_wines = Wine::where('rakuten_id', $matched_rakuten_ids)->get(); $group_id = 0; foreach ($group_wines as $group_wine) { if ($group_wine->group_id > 0) { $group_id = $group_wine->group_id; break; } } if ($group_id == 0) { $group_id = $wine->wine_id; } $wine->group_id = $group_id; $wine->save(); foreach ($group_wines as $group_wine) { $group_wine->group_id = $group_id; $group_wine->save(); } echo "Grouping Done. Group id is {$group_id}" . PHP_EOL; echo "Cost : " . (time() - $start) . " seconds." . PHP_EOL; curl_close($request); } }); }
public function run() { DB::table('wine_notes')->delete(); $user_id = User::where('email', '*****@*****.**')->first()->user_id; $user_1 = User::where('email', '*****@*****.**')->first()->user_id; $user_2 = User::where('email', '*****@*****.**')->first()->user_id; $wine_1 = Wine::where('wine_id', 1)->first()->wine_unique_id; $wine_2 = Wine::where('wine_id', 2)->first()->wine_unique_id; $wine_3 = Wine::where('wine_id', 3)->first()->wine_unique_id; Winenote::create($data = array('id' => 1, 'wine_unique_id' => $wine_1, 'user_id' => $user_id, 'note' => 'This is note 1')); Winenote::create($data = array('id' => 2, 'wine_unique_id' => $wine_2, 'user_id' => $user_1, 'note' => 'This is note 2')); Winenote::create($data = array('id' => 3, 'wine_unique_id' => $wine_3, 'user_id' => $user_2, 'note' => 'This is note 3')); }
public function run() { DB::table('ratings')->delete(); $user_id = User::where('email', '*****@*****.**')->first()->user_id; $user_1 = User::where('email', '*****@*****.**')->first()->user_id; $user_2 = User::where('email', '*****@*****.**')->first()->user_id; $wine_1 = Wine::where('wine_id', 1)->first()->wine_unique_id; $wine_2 = Wine::where('wine_id', 2)->first()->wine_unique_id; $wine_3 = Wine::where('wine_id', 3)->first()->wine_unique_id; Rating::create(array('id' => '1', 'user_id' => $user_id, 'wine_unique_id' => $wine_1, 'rate' => '0.5', 'content' => 'this is rating 1', 'like_count' => '5', 'comment_count' => '5', 'is_my_wine' => '1')); Rating::create(array('id' => '2', 'user_id' => $user_id, 'wine_unique_id' => $wine_2, 'rate' => '1.5', 'content' => 'this is rating 2', 'like_count' => '5', 'comment_count' => '5', 'is_my_wine' => '1')); Rating::create(array('id' => '3', 'user_id' => $user_id, 'wine_unique_id' => $wine_3, 'rate' => '4.5', 'content' => 'this is rating 3', 'like_count' => '8', 'comment_count' => '5', 'is_my_wine' => '1')); Rating::create(array('id' => '4', 'user_id' => $user_1, 'wine_unique_id' => $wine_1, 'rate' => '5', 'content' => 'this is rating 7', 'like_count' => '6', 'comment_count' => '15', 'is_my_wine' => '1')); Rating::create(array('id' => '5', 'user_id' => $user_2, 'wine_unique_id' => $wine_2, 'rate' => '5', 'content' => 'this is rating 8', 'like_count' => '14', 'comment_count' => '8', 'is_my_wine' => '1')); }
public function run() { DB::table('wishlists')->delete(); $user_id = User::where('email', '*****@*****.**')->first()->user_id; $user_1 = User::where('email', '*****@*****.**')->first()->user_id; $user_2 = User::where('email', '*****@*****.**')->first()->user_id; $wine_1 = Wine::where('wine_id', 1)->first()->wine_unique_id; $wine_2 = Wine::where('wine_id', 2)->first()->wine_unique_id; $wine_3 = Wine::where('wine_id', 3)->first()->wine_unique_id; Wishlist::create(array('id' => '1', 'wine_unique_id' => $wine_1, 'user_id' => $user_id)); Wishlist::create(array('id' => '2', 'wine_unique_id' => $wine_2, 'user_id' => $user_id)); Wishlist::create(array('id' => '3', 'wine_unique_id' => $wine_3, 'user_id' => $user_id)); Wishlist::create(array('id' => '4', 'wine_unique_id' => $wine_1, 'user_id' => $user_1)); Wishlist::create(array('id' => '5', 'wine_unique_id' => $wine_3, 'user_id' => $user_1)); Wishlist::create(array('id' => '6', 'wine_unique_id' => $wine_1, 'user_id' => $user_2)); Wishlist::create(array('id' => '7', 'wine_unique_id' => $wine_3, 'user_id' => $user_2)); }
public static function deleteRating($id) { $rating = Rating::where('id', $id)->first(); $error_code = ApiResponse::OK; if ($rating) { $rating_profile = Profile::where('user_id', $rating->user_id)->first(); if ($rating_profile != null) { $rating_profile->rate_count = $rating_profile->rate_count - 1; $rating_profile->save(); } $rating_wine = Wine::where('wine_unique_id', $rating->wine_unique_id)->first(); if ($rating_wine != null) { $rating_rate = $rating_wine->average_rate * $rating_wine->rate_count; $rating_wine->rate_count = $rating_wine->rate_count - 1; if ($rating_wine->rate_count > 0) { $rating_wine->average_rate = ($rating_rate - $rating->rate) / $rating_wine->rate_count; } else { $rating_wine->average_rate = 0; } $rating_wine->save(); } $rating->delete(); $data = 'Rating Deleted'; } else { $error_code = ApiResponse::UNAVAILABLE_RATING; $data = ApiResponse::getErrorContent(ApiResponse::UNAVAILABLE_RATING); } return array("code" => $error_code, "data" => $data); }
public function scan() { $user_id = Session::get('user_id'); if (!Input::hasFile('file')) { return Response::json(array("result" => "No file")); } $result = ""; $file = Input::file('file'); $destinationPath = public_path() . "/uploads/"; $file_name = date('YmdHis') . '_' . $file->getClientOriginalName(); $uploadSuccess = $file->move($destinationPath, $file_name); if ($uploadSuccess) { $result = Wine::scan($destinationPath . $file_name); if ($result != -2) { $wine = Wine::where('wine_id', $result)->first(); if ($wine != null) { $input = $wine->toArray(); $rating = Rating::createNewRating($input); } } } return Response::json(array("result" => $result)); }
public static function uploadImageWineScan($wine_unique_id) { $error_code = ApiResponse::OK; $user_id = Session::get('user_id'); $wine = Wine::where('wine_unique_id', $wine_unique_id)->first(); if ($wine) { if (Input::hasFile('file')) { $file = Input::file('file'); $destinationPath = public_path() . '/images/' . $user_id . '/wine/' . $wine->wine_unique_id; $filename = date('YmdHis') . '_' . $file->getClientOriginalName(); $extension = $file->getClientOriginalExtension(); if (!File::isDirectory($destinationPath)) { File::makeDirectory($destinationPath, $mode = 0777, true, true); } else { File::cleanDirectory($destinationPath); } $upload_success = $file->move($destinationPath, $filename); $data = URL::asset('images/' . $user_id . '/wine/' . $wine_unique_id . '/' . $filename); } else { $error_code = ApiResponse::MISSING_PARAMS; $data = null; } } else { $error_code = ApiResponse::UNAVAILABLE_WINE; $data = ApiResponse::getErrorContent(ApiResponse::UNAVAILABLE_WINE); } return array("code" => $error_code, "data" => $data); }
public static function deleteWinenote($wine_unique_id) { $user_id = Session::get('user_id'); $winenote = Winenote::where('user_id', $user_id)->where('wine_unique_id', $wine_unique_id)->first(); $error_code = ApiResponse::OK; if (Wine::where('wine_unique_id', $wine_unique_id)->first()) { if ($winenote) { $winenote->delete(); $data = 'Wine note is deleted'; } else { $error_code = ApiResponse::UNAVAILABLE_WINE_NOTE; $data = ApiResponse::getErrorContent(ApiResponse::UNAVAILABLE_WINE_NOTE); } } else { $error_code = ApiResponse::UNAVAILABLE_WINE; $data = ApiResponse::getErrorContent(ApiResponse::UNAVAILABLE_WINE); } return array("code" => $error_code, "data" => $data); }
public function testSearchWineSuccess() { $data = array(); $_params = $this->_params; $response = $this->action('POST', 'WineController@search', array(), array('data' => json_encode($_params))); $user_id = $this->_user_id; $wine = Wine::where('name', 'LIKE', '%wi%')->with('winery')->get(); if ($wine) { foreach ($wine as $wines) { if ($wines->image_url != null) { $wines->image_url = URL::asset($wines->image_url); } if ($wines->wine_flag != null) { $wines->wine_flag = URL::asset($wines->wine_flag); } $ratings = Rating::where('user_id', $user_id)->where('wine_unique_id', $wines->wine_unique_id)->where('is_my_wine', 1)->first(); if ($ratings) { $data[] = $wines; } else { $wishlist = Wishlist::where('user_id', $user_id)->where('wine_unique_id', $wines->wine_unique_id)->first(); if ($wishlist) { $data[] = $wines; } } } } $this->assertEquals(array("code" => ApiResponse::OK, "data" => $data), json_decode($response->getContent(), true)); }