From db3a8c49491578a356b0f613d48bf4a651586d24 Mon Sep 17 00:00:00 2001 From: pbao9 Date: Mon, 2 Mar 2026 14:44:07 +0700 Subject: [PATCH] feat: Introduce InvoiceStep enum and add reminder_step column to invoice table. --- app/Enums/Invoice/InvoiceStep.php | 23 +++++++++++++++ .../migrations/2024_01_31_155824_invoice.php | 1 + ..._02_111537_update_column_invoice_table.php | 29 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 app/Enums/Invoice/InvoiceStep.php create mode 100644 database/migrations/2026_03_02_111537_update_column_invoice_table.php diff --git a/app/Enums/Invoice/InvoiceStep.php b/app/Enums/Invoice/InvoiceStep.php new file mode 100644 index 0000000..424a844 --- /dev/null +++ b/app/Enums/Invoice/InvoiceStep.php @@ -0,0 +1,23 @@ + '1 ngày trước khi hết hạn', + self::STEP_2 => '3 ngày trước khi hết hạn', + self::STEP_3 => '7 ngày trước khi hết hạn', + self::STEP_4 => '14 ngày trước khi hết hạn', + self::STEP_5 => '30 ngày trước khi hết hạn', + }; + } +} diff --git a/database/migrations/2024_01_31_155824_invoice.php b/database/migrations/2024_01_31_155824_invoice.php index 811fc7a..a20676e 100644 --- a/database/migrations/2024_01_31_155824_invoice.php +++ b/database/migrations/2024_01_31_155824_invoice.php @@ -28,6 +28,7 @@ return new class extends Migration { $table->string('vm_id')->nullable()->index(); $table->unsignedInteger('rebuild_count')->nullable()->default(0); $table->tinyInteger('invoice_type')->default(1); + $table->integer('reminder_step')->default(3); $table->tinyInteger('status')->default(0); $table->timestamps(); diff --git a/database/migrations/2026_03_02_111537_update_column_invoice_table.php b/database/migrations/2026_03_02_111537_update_column_invoice_table.php new file mode 100644 index 0000000..cc26cea --- /dev/null +++ b/database/migrations/2026_03_02_111537_update_column_invoice_table.php @@ -0,0 +1,29 @@ +enum('reminder_step', [InvoiceStep::STEP_1->value, InvoiceStep::STEP_2->value, InvoiceStep::STEP_3->value, InvoiceStep::STEP_4->value, InvoiceStep::STEP_5->value])->default(InvoiceStep::STEP_1->value)->after('auto_renew'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('invoice', function (Blueprint $table) { + // + }); + } +};