From 273133ed8c9321ea2bc2b0e60203a2b0b3e282e5 Mon Sep 17 00:00:00 2001 From: sayliraut Date: Wed, 5 Jun 2024 12:39:10 +0530 Subject: [PATCH] redeem restaurant --- .../CustomerAPIs/RestaurantApiServices.php | 33 ++++++++++++------- resources/lang/en/auth.php | 4 ++- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php b/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php index 68ec069..621d7be 100644 --- a/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php +++ b/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php @@ -198,22 +198,31 @@ class RestaurantApiServices $restaurant = ManageRestaurant::with('operatingHours')->where('short_id', $restaurantId)->first(); - if ($restaurant) { - $redeemRestaurant = new RedeemRestaurant(); - $redeemRestaurant->iam_principal_xid = $customerIamId; - $redeemRestaurant->manage_restaurants_xid = $restaurant->id; - $redeemRestaurant->is_redeem = 1; // Redeem restaurant - $redeemRestaurant->redeem_date = now(); - $redeemRestaurant->is_redeemption_undone = 0; - $redeemRestaurant->redeemption_undone_date = null; - $redeemRestaurant->save(); - } else { + if (!$restaurant) { return jsonResponseWithErrorMessageApi(__('auth.restaurant_not_found'), 404); } - return jsonResponseWithSuccessMessageApi(__('success.redeem_voucher'), $redeemRestaurant, 200); + + // Check if the restaurant has already redeemed + $restaurantExist = RedeemRestaurant::where('manage_restaurants_xid', $restaurant->id)->first(); + if ($restaurantExist) { + return jsonResponseWithErrorMessageApi(__('auth.restaurant_already_redeemed'), 400); + } + + $redeemRestaurant = new RedeemRestaurant(); + $redeemRestaurant->iam_principal_xid = $customerIamId; + $redeemRestaurant->manage_restaurants_xid = $restaurant->id; + $redeemRestaurant->is_redeem = 1; // Redeem restaurant + $redeemRestaurant->redeem_date = now(); + $redeemRestaurant->is_redeemption_undone = 0; + $redeemRestaurant->redeemption_undone_date = null; + $redeemRestaurant->save(); + + return jsonResponseWithSuccessMessageApi(__('success.restaurant_redeem'), $redeemRestaurant, 200); + } catch (Exception $ex) { - Log::error('Restaurant Reedem service failed: ' . $ex->getMessage()); + Log::error('Restaurant Redeem service failed: ' . $ex->getMessage()); return jsonResponseWithErrorMessageApi(__('auth.something_went_wrong'), 500); } } + } diff --git a/resources/lang/en/auth.php b/resources/lang/en/auth.php index 02ed19d..2286bd1 100644 --- a/resources/lang/en/auth.php +++ b/resources/lang/en/auth.php @@ -104,6 +104,8 @@ return [ 'otp_expired_invalid' => 'Invalid OTP or expired.', 'legally_21' => 'You are legally over the age of 21. Proceed to the next page.', 'not_legally_21' => 'Sorry, you are not legally over the age of 21. Exit the page.', - 'restaurant_already_favourite' => 'restaurant already in favourite list' + 'restaurant_already_favourite' => 'restaurant already in favourite list', + 'restaurant_redeem' => 'Restaurant redeem successfully', + 'restaurant_already_redeemed' => 'Restaurant is already redeemed', ];