From 30aa7aec844dc01d24dfd8db7530baa73ca63fa9 Mon Sep 17 00:00:00 2001 From: sayliraut Date: Wed, 12 Jun 2024 11:57:47 +0530 Subject: [PATCH] search api --- .../RestaurantApi/RedeemControllerApi.php | 30 ++-- .../RestaurantService/RedeemApiService.php | 139 +++--------------- routes/restaurant_api.php | 2 +- 3 files changed, 36 insertions(+), 135 deletions(-) diff --git a/app/Http/Controllers/Admin/APIs/RestaurantApi/RedeemControllerApi.php b/app/Http/Controllers/Admin/APIs/RestaurantApi/RedeemControllerApi.php index b08b78f..102de31 100644 --- a/app/Http/Controllers/Admin/APIs/RestaurantApi/RedeemControllerApi.php +++ b/app/Http/Controllers/Admin/APIs/RestaurantApi/RedeemControllerApi.php @@ -68,19 +68,19 @@ class RedeemControllerApi extends Controller * Created at : 11 June 2024 * Use : Search Redemption coupon. */ - // public function searchRedemption(Request $request) - // { - // try { - // $token = readRestHeaderToken(); - // if ($token) { - // $restIamId = $token['sub']; - // return $this->RedeemApiService->searchRedemption($restIamId, $request); - // } else { - // return jsonResponseWithErrorMessageApi(__('auth.user_deleted'), 409); - // } - // } catch (\Exception $e) { - // Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); - // return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); - // } - // } + public function searchRedemption(Request $request) + { + try { + $token = readRestHeaderToken(); + if ($token) { + $restIamId = $token['sub']; + return $this->RedeemApiService->searchRedemption($restIamId, $request); + } else { + return jsonResponseWithErrorMessageApi(__('auth.user_deleted'), 409); + } + } catch (\Exception $e) { + Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); + return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); + } + } } diff --git a/app/Services/APIs/RestaurantService/RedeemApiService.php b/app/Services/APIs/RestaurantService/RedeemApiService.php index 5234e13..3a1da34 100644 --- a/app/Services/APIs/RestaurantService/RedeemApiService.php +++ b/app/Services/APIs/RestaurantService/RedeemApiService.php @@ -166,10 +166,13 @@ class RedeemApiService } - public function getRedemedData(Request $request) + + + + public function searchRedemption($restIamId, $request) { try { - $restIamId = $request->input('restIamId'); + $searchQuery = $request->input('search_data'); $rest = IamPrincipal::findOrFail($restIamId); $data['user_detail'] = IamPrincipal::select('id', 'first_name', 'last_name', 'email_address', 'phone_number', 'date_of_birth')->find($rest->id); @@ -185,23 +188,16 @@ class RedeemApiService ->where('manage_restaurants_xid', $restaurantRoles->restaurant_xid) ->where('is_redeem', 1); - // Apply filters based on query parameters - if ($request->has('customer_first_name')) { - $query->whereHas('customer', function ($q) use ($request) { - $q->where('first_name', 'like', '%' . $request->input('customer_first_name') . '%'); + if ($searchQuery) { + $query->where(function ($q) use ($searchQuery) { + $q->whereHas('customer', function ($q) use ($searchQuery) { + $q->where('first_name', 'like', '%' . $searchQuery . '%') + ->orWhere('last_name', 'like', '%' . $searchQuery . '%'); + }) + ->orWhereDate('redeem_date', $searchQuery); }); } - if ($request->has('customer_last_name')) { - $query->whereHas('customer', function ($q) use ($request) { - $q->where('last_name', 'like', '%' . $request->input('customer_last_name') . '%'); - }); - } - - if ($request->has('redeem_date')) { - $query->whereDate('redeem_date', $request->input('redeem_date')); - } - $restDetail = $query->get(); foreach ($restDetail as $detail) { @@ -233,23 +229,17 @@ class RedeemApiService ->where('manage_restaurants_xid', $restaurantRoles->restaurant_xid) ->where('is_redeemption_undone', 1); - // Apply filters based on query parameters - if ($request->has('customer_first_name')) { - $queryUndo->whereHas('customer', function ($q) use ($request) { - $q->where('first_name', 'like', '%' . $request->input('customer_first_name') . '%'); + // Apply search filter if search_data is provided + if ($searchQuery) { + $queryUndo->where(function ($q) use ($searchQuery) { + $q->whereHas('customer', function ($q) use ($searchQuery) { + $q->where('first_name', 'like', '%' . $searchQuery . '%') + ->orWhere('last_name', 'like', '%' . $searchQuery . '%'); + }) + ->orWhereDate('redeemption_undone_date', $searchQuery); }); } - if ($request->has('customer_last_name')) { - $queryUndo->whereHas('customer', function ($q) use ($request) { - $q->where('last_name', 'like', '%' . $request->input('customer_last_name') . '%'); - }); - } - - if ($request->has('redeemption_undone_date')) { - $queryUndo->whereDate('redeemption_undone_date', $request->input('redeemption_undone_date')); - } - $restundoresumptionDetail = $queryUndo->get(); foreach ($restundoresumptionDetail as $detail) { @@ -282,93 +272,4 @@ class RedeemApiService return jsonResponseWithErrorMessageApi(__('auth.something_went_wrong'), 500); } } - - - // public function searchRedemption($restIamId, $request) - // { - // try { - // $searchQuery = $request->input('search_data'); - - // $rest = IamPrincipal::findOrFail($restIamId); - // $data['user_detail'] = IamPrincipal::select('id', 'first_name', 'last_name', 'email_address', 'phone_number', 'date_of_birth')->find($rest->id); - - // $restaurantRoles = IamPrincipalRestaurantRole::select('id', 'principal_xid', 'restaurant_xid', 'role')->where('principal_xid', $rest->id)->get(); - - // $restaurantDetail = []; - // foreach ($restaurantRoles as $role) { - // $restaurantImage = ManageVoucherModel::select('id', 'coupon_name', 'description', 'thumbnail_image', 'image', 'location_name')->find($role->restaurant_xid); - // if ($restaurantImage) { - // $restaurantImage->thumbnail_image = ListingImageUrl('voucher_thumbnail_images', $restaurantImage->thumbnail_image); - // $restaurantImage->image = ListingImageUrl('voucher_images', $restaurantImage->image); - // } - // $restaurantDetail[] = $restaurantImage; - - // $redeemedVouchers = []; - // $redemptionUndoneVouchers = []; - - // $vouchers = MyPassportVoucher::select('id', 'order_xid', 'iam_principal_xid', 'manage_passports_xid', 'manage_vouchers_xid', 'is_redeem', 'count', 'redeem_date', 'is_redeemption_undone') - // ->where('manage_vouchers_xid', $role->restaurant_xid) - // ->where('is_redeem', 1) - // ->get(); - - // foreach ($vouchers as $voucher) { - // $userDetail = IamPrincipal::select('id', 'first_name', 'email_address', 'profile_photo', 'address_line1') - // ->where('id', $voucher->iam_principal_xid) - // ->first(); - - // if ($userDetail && (stripos($userDetail->first_name, $searchQuery) !== false || stripos($voucher->id, $searchQuery) !== false || stripos($voucher->redeem_date, $searchQuery) !== false)) { - // if ($userDetail->profile_photo) { - // $userDetail->profile_photo = ListingImageUrl('profile_image', $userDetail->profile_photo); - // } else { - // $userDetail->profile_photo = asset('public/assets/img/blankProfile.png'); - // } - - // $voucher->user_detail = $userDetail; - // $redeemedVouchers[] = $voucher; - // } else { - - // Log::error('User detail not found for IAM principal ID: ' . $voucher->iam_principal_xid); - // } - // } - - // $redeemptionUndone = MyPassportVoucher::select('id', 'order_xid', 'iam_principal_xid', 'manage_passports_xid', 'manage_vouchers_xid', 'is_redeem', 'count', 'redeem_date', 'is_redeemption_undone', 'redeemption_undone_date') - // ->where('manage_vouchers_xid', $role->restaurant_xid) - // ->where([['is_redeem', 0], ['is_redeemption_undone', 1]]) - // ->get(); - - // foreach ($redeemptionUndone as $undone) { - // $userDetail = IamPrincipal::select('id', 'first_name', 'email_address', 'profile_photo', 'address_line1') - // ->where('id', $undone->iam_principal_xid) - // ->first(); - - // if ($userDetail && (stripos($userDetail->first_name, $searchQuery) !== false || stripos($undone->id, $searchQuery) !== false || stripos($undone->redeemption_undone_date, $searchQuery) !== false)) { - // if ($userDetail->profile_photo) { - // $userDetail->profile_photo = ListingImageUrl('profile_image', $userDetail->profile_photo); - // } else { - // $userDetail->profile_photo = asset('public/assets/img/blankProfile.png'); - // } - - // $undone->user_detail = $userDetail; - // $redemptionUndoneVouchers[] = $undone; - // } else { - - // Log::error('User detail not found for IAM principal ID: ' . $undone->iam_principal_xid); - // } - // } - - // if (empty($searchQuery)) { - // $restaurantDetail['redeemed_vouchers'] = $redeemedVouchers; - // $restaurantDetail['redemption_undone_vouchers'] = $redemptionUndoneVouchers; - // } - - // $restaurantDetail['redeemed_vouchers'] = $redeemedVouchers; - // $restaurantDetail['redemption_undone_vouchers'] = $redemptionUndoneVouchers; - // } - - // return jsonResponseWithSuccessMessageApi(__('auth.User_details_fetch'), $restaurantDetail, 200); - // } catch (Exception $ex) { - // Log::error('Restaurant Get data service failed : ' . $ex->getMessage()); - // return jsonResponseWithErrorMessageApi(__('auth.something_went_wrong'), 500); - // } - // } } diff --git a/routes/restaurant_api.php b/routes/restaurant_api.php index 4cda61f..d68ad2f 100644 --- a/routes/restaurant_api.php +++ b/routes/restaurant_api.php @@ -35,7 +35,7 @@ Route::middleware(['restaurantApiBasicAuth'])->group(function () { Route::get('/v1/fetch-redeem-data', [RedeemControllerApi::class, 'getRedemedData']); Route::post('/v1/undo-redemption', [RedeemControllerApi::class, 'undoRedemption']); - // Route::post('/v1/search-Redemption-data', [RedeemControllerApi::class, 'searchRedemption']); + Route::post('/v1/search-Redemption-data', [RedeemControllerApi::class, 'searchRedemption']); // //*******************************************************CMS********************************************************