This commit is contained in:
sayliraut
2024-07-04 11:34:27 +05:30
parent cccaeef32c
commit a25f6306c3
3 changed files with 5 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ class RedeemRestaurant extends Model
'count',
'redeem_date',
'is_redeemption_undone',
'state_xid',
'redeemption_undone_date',
'created_at',
'updated_at'

View File

@@ -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;

View File

@@ -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);