Files
sam-api/app/Enums/OrderStatus.php

58 lines
1.4 KiB
PHP

<?php
namespace App\Enums;
/**
* 견적 상태 코드 Enum
*/
enum EstimateStatus: string
{
case Draft = 'draft'; // 임시저장
case Submitted = 'submitted'; // 제출/확정
case Approved = 'approved'; // 승인
case Rejected = 'rejected'; // 반려
case Cancelled = 'cancelled'; // 취소
// 한글라벨 등 커스텀 메서드
public function label(): string
{
return match($this) {
self::Draft => '임시저장',
self::Submitted => '제출/확정',
self::Approved => '승인',
self::Rejected => '반려',
self::Cancelled => '취소',
};
}
}
/**
* 주문 상태 코드 Enum
*/
enum OrderStatus: string
{
case Created = 'created';
case Confirmed = 'confirmed';
case InProgress = 'in_progress';
case Completed = 'completed';
case Cancelled = 'cancelled';
// 한글라벨 등 커스텀 메서드
public function label(): string
{
return match($this) {
self::Created => '등록',
self::Confirmed => '승인',
self::InProgress => '진행중',
self::Completed => '완료',
self::Cancelled => '취소',
};
}
}
// 사용
/*foreach (EstimateStatus::cases() as $status) {
echo $status->name;
echo $status->value;
echo $status->label();
}*/