search api
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -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********************************************************
|
||||
|
||||
|
||||
Reference in New Issue
Block a user