From a25f6306c30214383e1a5819df22874cfec9d033 Mon Sep 17 00:00:00 2001 From: sayliraut Date: Thu, 4 Jul 2024 11:34:27 +0530 Subject: [PATCH] Changes --- app/Models/RedeemRestaurant.php | 1 + app/Services/APIs/CustomerAPIs/RestaurantApiServices.php | 6 +++--- .../2024_06_04_115811_create_redeem_restaurant.php | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/Models/RedeemRestaurant.php b/app/Models/RedeemRestaurant.php index cb06a20..904667f 100644 --- a/app/Models/RedeemRestaurant.php +++ b/app/Models/RedeemRestaurant.php @@ -18,6 +18,7 @@ class RedeemRestaurant extends Model 'count', 'redeem_date', 'is_redeemption_undone', + 'state_xid', 'redeemption_undone_date', 'created_at', 'updated_at' diff --git a/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php b/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php index 7d152b4..b62f82c 100644 --- a/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php +++ b/app/Services/APIs/CustomerAPIs/RestaurantApiServices.php @@ -233,6 +233,7 @@ class RestaurantApiServices ->where('is_redeem', 1) ->first(); + if ($restaurantExist) { return jsonResponseWithErrorMessageApi(__('auth.restaurant_already_redeemed'), 400); } @@ -250,8 +251,7 @@ class RestaurantApiServices $stateIntervalStartDate = $this->calculateIntervalStartDate($stateMaxIntervalLimitation); // Count the redeems within the state interval - $redeemCountState = RedeemRestaurant::where('manage_restaurants_xid', $restaurant->id) - ->where('redeem_date', '>=', $stateIntervalStartDate) + $redeemCountState = RedeemRestaurant::where('state_xid', $restaurant->state_xid) ->count(); if ($redeemCountState >= $stateMaxLimitation) { @@ -263,7 +263,6 @@ class RestaurantApiServices // Count the redeems within the restaurant interval $redeemCountRestaurant = RedeemRestaurant::where('manage_restaurants_xid', $restaurant->id) - ->where('redeem_date', '>=', $restaurantIntervalStartDate) ->count(); if ($redeemCountRestaurant >= $restaurantMaxLimitation) { @@ -306,6 +305,7 @@ class RestaurantApiServices $redeemRestaurant = new RedeemRestaurant(); $redeemRestaurant->iam_principal_xid = $customerIamId; $redeemRestaurant->manage_restaurants_xid = $restaurant->id; + $redeemRestaurant->state_xid = $restaurant->state_xid; $redeemRestaurant->is_redeem = 1; // Redeem restaurant $redeemRestaurant->redeem_date = now(); $redeemRestaurant->is_redeemption_undone = 0; diff --git a/database/migrations/2024_06_04_115811_create_redeem_restaurant.php b/database/migrations/2024_06_04_115811_create_redeem_restaurant.php index 73c8fb0..49e2ff9 100644 --- a/database/migrations/2024_06_04_115811_create_redeem_restaurant.php +++ b/database/migrations/2024_06_04_115811_create_redeem_restaurant.php @@ -17,6 +17,7 @@ return new class extends Migration $table->foreign('iam_principal_xid')->references('id')->on('iam_principal')->onDelete('cascade'); $table->unsignedBigInteger('manage_restaurants_xid'); $table->foreign('manage_restaurants_xid')->references('id')->on('manage_restaurants')->onDelete('cascade'); + $table->bigInteger('state_xid'); $table->boolean('is_active')->default(1)->comment('1=Active, 0=Expired'); $table->boolean('is_redeem')->default(0)->comment('1=Redeem, 0=Not Redeem'); $table->integer('count')->default(0);