<?php

declare(strict_types=1);

namespace App\Platform\Tools\Constants;

use Hyperf\Constants\Annotation\Constants;
use Hyperf\Constants\Annotation\Message;
use Hyperf\Constants\EnumConstantsTrait;

#[Constants]
enum OrderStatus: int
{
    use EnumConstantsTrait;

    #[Message("Payment pending")]
    case PAYMENT_PENDING = 1;

    #[Message("Payment fail")]
    case PAYMENT_FAIL = 2;

    #[Message("Payment complete")]
    case PAYMENT_COMPLETE = 3;

    #[Message("Awaiting shipment")]
    case AWAITING_SHIPMENT = 4;

    #[Message("Shipped")]
    case SHIPPED = 5;

    #[Message("Cancel requested")]
    case CANCEL_REQUESTED = 6;

    #[Message("Cancel confirmed")]
    case CANCEL_CONFIRMED = 7;

    #[Message("Finished")]
    case FINISHED = 8;

    #[Message("Cancel before shipping")]
    case CANCEL_BEFORE_SHIPPING = 9;
}
