feat(enum): membuat enum terkait dengan order
This commit is contained in:
parent
2819750fbf
commit
2537b64e6d
45
app/Enums/OrderChannel.php
Normal file
45
app/Enums/OrderChannel.php
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\WithCommentEnum;
|
||||||
|
use App\Traits\WithValueEnum;
|
||||||
|
|
||||||
|
enum OrderChannel: int
|
||||||
|
{
|
||||||
|
use WithCommentEnum, WithValueEnum;
|
||||||
|
|
||||||
|
case OUTLET = 1;
|
||||||
|
case SHOPEE = 2;
|
||||||
|
case TOKOPEDIA = 3;
|
||||||
|
case WEBSITE = 4;
|
||||||
|
case INSTAGRAM = 5;
|
||||||
|
case WHATSAPP = 6;
|
||||||
|
case OTHER = 7;
|
||||||
|
|
||||||
|
public function label(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::OUTLET => 'Outlet',
|
||||||
|
self::SHOPEE => 'Shopee',
|
||||||
|
self::TOKOPEDIA => 'Tokopedia',
|
||||||
|
self::WEBSITE => 'Website',
|
||||||
|
self::INSTAGRAM => 'Instagram',
|
||||||
|
self::WHATSAPP => 'WhatsApp',
|
||||||
|
self::OTHER => 'Lainnya',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public function color(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::OUTLET => 'emerald',
|
||||||
|
self::SHOPEE => 'orange',
|
||||||
|
self::TOKOPEDIA => 'green',
|
||||||
|
self::WEBSITE => 'blue',
|
||||||
|
self::INSTAGRAM => 'pink',
|
||||||
|
self::WHATSAPP => 'lime',
|
||||||
|
self::OTHER => 'gray',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
42
app/Enums/OrderStatus.php
Normal file
42
app/Enums/OrderStatus.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\WithCommentEnum;
|
||||||
|
use App\Traits\WithValueEnum;
|
||||||
|
|
||||||
|
enum OrderStatus: int
|
||||||
|
{
|
||||||
|
use WithCommentEnum, WithValueEnum;
|
||||||
|
|
||||||
|
case DRAFT = 1;
|
||||||
|
case PENDING = 2;
|
||||||
|
case PARTIAL = 3;
|
||||||
|
case PAID = 4;
|
||||||
|
case OVERDUE = 5;
|
||||||
|
case CANCELED = 6;
|
||||||
|
|
||||||
|
public function label(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::DRAFT => 'Draft',
|
||||||
|
self::PENDING => 'Menunggu Pembayaran',
|
||||||
|
self::PARTIAL => 'Belum Lunas',
|
||||||
|
self::PAID => 'Lunas',
|
||||||
|
self::OVERDUE => 'Terlambat Bayar',
|
||||||
|
self::CANCELED => 'Dibatalkan',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public function color(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::DRAFT => 'gray',
|
||||||
|
self::PENDING => 'blue',
|
||||||
|
self::PARTIAL => 'amber',
|
||||||
|
self::PAID => 'emerald',
|
||||||
|
self::OVERDUE => 'red',
|
||||||
|
self::CANCELED => 'zinc',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
36
app/Enums/PaymentMethod.php
Normal file
36
app/Enums/PaymentMethod.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\WithCommentEnum;
|
||||||
|
use App\Traits\WithValueEnum;
|
||||||
|
|
||||||
|
enum PaymentMethod: int
|
||||||
|
{
|
||||||
|
use WithCommentEnum, WithValueEnum;
|
||||||
|
|
||||||
|
case CASH = 1;
|
||||||
|
case TRANSFER = 2;
|
||||||
|
case QRIS = 3;
|
||||||
|
case OTHER = 4;
|
||||||
|
|
||||||
|
public function label(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::CASH => 'Tunai',
|
||||||
|
self::TRANSFER => 'Transfer Bank',
|
||||||
|
self::QRIS => 'QRIS',
|
||||||
|
self::OTHER => 'Lainnya',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public function color(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::CASH => 'emerald',
|
||||||
|
self::TRANSFER => 'blue',
|
||||||
|
self::QRIS => 'purple',
|
||||||
|
self::OTHER => 'gray',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
36
app/Enums/PaymentStatus.php
Normal file
36
app/Enums/PaymentStatus.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\WithCommentEnum;
|
||||||
|
use App\Traits\WithValueEnum;
|
||||||
|
|
||||||
|
enum PaymentStatus: string
|
||||||
|
{
|
||||||
|
use WithCommentEnum, WithValueEnum;
|
||||||
|
|
||||||
|
case PENDING = 'pending';
|
||||||
|
case PAID = 'paid';
|
||||||
|
case FAILED = 'failed';
|
||||||
|
case REFUNDED = 'refunded';
|
||||||
|
|
||||||
|
public function label(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::PENDING => 'Menunggu Pembayaran',
|
||||||
|
self::PAID => 'Berhasil Dibayar',
|
||||||
|
self::FAILED => 'Gagal',
|
||||||
|
self::REFUNDED => 'Dikembalikan',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public function color(): string
|
||||||
|
{
|
||||||
|
return match ($this) {
|
||||||
|
self::PENDING => 'amber',
|
||||||
|
self::PAID => 'emerald',
|
||||||
|
self::FAILED => 'red',
|
||||||
|
self::REFUNDED => 'gray',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user