diff --git a/app/Services/APIs/RestaurantService/RedeemApiService.php b/app/Services/APIs/RestaurantService/RedeemApiService.php index 3a1da34..ba3d430 100644 --- a/app/Services/APIs/RestaurantService/RedeemApiService.php +++ b/app/Services/APIs/RestaurantService/RedeemApiService.php @@ -96,7 +96,7 @@ class RedeemApiService return jsonResponseWithSuccessMessageApi(__('auth.User_details_fetch'), $restaurantDetail, 200); } catch (Exception $ex) { - Log::error('Restaurant Get data service failed: ' . $ex->getMessage()); + Log::error('Redeem Restaurant Get data service failed: ' . $ex->getMessage()); return jsonResponseWithErrorMessageApi(__('auth.something_went_wrong'), 500); } } @@ -160,7 +160,7 @@ class RedeemApiService return jsonResponseWithErrorMessageApi(__('auth.voucher_not_found'), 404); } } catch (Exception $ex) { - Log::error('Restaurant update profile service failed: ' . $ex->getMessage()); + Log::error('Undo redumption service failed: ' . $ex->getMessage()); return jsonResponseWithErrorMessageApi(__('auth.something_went_wrong'), 500); } } @@ -169,10 +169,11 @@ class RedeemApiService - public function searchRedemption($restIamId, $request) + 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); @@ -184,20 +185,23 @@ class RedeemApiService 'customer:id,first_name,last_name,profile_photo', 'restaurant:id,image,name' ]) - ->select('id', 'iam_principal_xid', 'manage_restaurants_xid', 'redeem_date', 'is_active', 'count') - ->where('manage_restaurants_xid', $restaurantRoles->restaurant_xid) - ->where('is_redeem', 1); + ->select('id', 'iam_principal_xid', 'manage_restaurants_xid', 'redeem_date', 'is_active', 'count') + ->where('manage_restaurants_xid', $restaurantRoles->restaurant_xid) + ->where('is_redeem', 1); if ($searchQuery) { $query->where(function ($q) use ($searchQuery) { - $q->whereHas('customer', function ($q) use ($searchQuery) { - $q->where('first_name', 'like', '%' . $searchQuery . '%') + $q->where('id', $searchQuery) + ->orWhereHas('customer', function ($q) use ($searchQuery) { + $q->where('first_name', 'like', '%' . $searchQuery . '%') ->orWhere('last_name', 'like', '%' . $searchQuery . '%'); - }) - ->orWhereDate('redeem_date', $searchQuery); + }) + ->orWhereDate('redeem_date', $searchQuery); }); } + + $restDetail = $query->get(); foreach ($restDetail as $detail) { @@ -220,26 +224,27 @@ class RedeemApiService $restDetailArray = $restDetail->toArray(); - // For redemption undone vouchers $queryUndo = RedeemRestaurant::with([ 'customer:id,first_name,last_name,profile_photo', 'restaurant:id,image,name' ]) - ->select('id', 'iam_principal_xid', 'manage_restaurants_xid', 'redeem_date', 'is_active', 'count', 'redeemption_undone_date') - ->where('manage_restaurants_xid', $restaurantRoles->restaurant_xid) - ->where('is_redeemption_undone', 1); + ->select('id', 'iam_principal_xid', 'manage_restaurants_xid', 'redeem_date', 'is_active', 'count', 'redeemption_undone_date') + ->where('manage_restaurants_xid', $restaurantRoles->restaurant_xid) + ->where('is_redeemption_undone', 1); - // 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 . '%') + $q->where('id', $searchQuery) + ->orWhereHas('customer', function ($q) use ($searchQuery) { + $q->where('first_name', 'like', '%' . $searchQuery . '%') ->orWhere('last_name', 'like', '%' . $searchQuery . '%'); - }) - ->orWhereDate('redeemption_undone_date', $searchQuery); + }) + ->orWhereDate('redeemption_undone_date', $searchQuery); }); } + + $restundoresumptionDetail = $queryUndo->get(); foreach ($restundoresumptionDetail as $detail) { @@ -268,8 +273,9 @@ class RedeemApiService return jsonResponseWithSuccessMessageApi(__('auth.User_details_fetch'), $restaurantDetail, 200); } catch (Exception $ex) { - Log::error('Restaurant Get data service failed: ' . $ex->getMessage()); + Log::error('Search voucher service failed: ' . $ex->getMessage()); return jsonResponseWithErrorMessageApi(__('auth.something_went_wrong'), 500); } } + }