Files

64 lines
1.3 KiB
PHP
Raw Permalink Normal View History

2026-08-31 11:33:59 +08:00
<?php
declare(strict_types=1);
namespace app\enum\member;
use core\interface\IEnum;
/**
* 账单分类枚举
*/
enum BillCategory: int implements IEnum
{
case RECHARGE = 1; // 充值
case WITHDRAW = 2; // 提现
case ORDER = 3; // 订单
case REFUND = 4; // 退款
case POINTS = 5; // 积分
case SIGN = 6; // 签到
case OTHER = 99; // 其他
/**
* 获取文本描述
*/
public function text(): string
{
return match($this) {
self::RECHARGE => '充值',
self::WITHDRAW => '提现',
self::ORDER => '订单',
self::REFUND => '退款',
self::POINTS => '积分',
self::SIGN => '签到',
self::OTHER => '其他',
};
}
/**
* 实现IEnum接口的label方法
*/
public function label(): string
{
return $this->text();
}
/**
* 获取所有枚举值
*/
public static function all(): array
{
return array_column(self::cases(), 'value');
}
/**
* 获取所有枚举映射
*/
public static function map(): array
{
$map = [];
foreach (self::cases() as $case) {
$map[$case->value] = $case->text();
}
return $map;
}
}