<?php

declare(strict_types=1);

namespace App\Constants;

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

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

    // 普通订单
    #[Message("Normal order")]
    case Normor_Order = 1;

    #[Message("Order for voucher")] // 1 元锁定优惠订单
    case VOUCHER_ORDER = 2;
 
    #[Message("Order for compensation the loss of seller")] // 补差价订单 无实物
    case SELLER_COMPENSATION_ORDER = 3;

    #[Message("Order for service which has no physical goods")] // 服务类订单 无实物
    case SERVICE_ORDER = 4;

    #[Message("Order for compensation the loss of buyer")] // 退运费订单（仅存在售后单，主订单不存在）
    case BUYER_COMPENSATION_ORDER = 5;

    #[Message("Order then instantly refund")]
    case REGRET_ORDER = 9; // 购买后秒退订单 - 通常不参与 gmv 指标核算

    #[Message("Order was intent to be hidden or can't be access by API")]
    case HIDDEN_ORDER = 99; // API 无法获取或者电商平台不公开的订单，此类订单通常为人工重建订单
 
}
