@@ -18,6 +18,7 @@ class RedeemRestaurant extends Model
|
||||
'count',
|
||||
'redeem_date',
|
||||
'is_redeemption_undone',
|
||||
'state_xid',
|
||||
'redeemption_undone_date',
|
||||
'created_at',
|
||||
'updated_at'
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user