|
@@ -8,25 +8,75 @@ namespace App\Enums;
|
|
|
enum OrderStatus: int
|
|
|
{
|
|
|
/**
|
|
|
- * 订单状态:待处理
|
|
|
+ * 订单状态:下单
|
|
|
*/
|
|
|
- case PENDING = 1;
|
|
|
+ case CREATED = 1;
|
|
|
|
|
|
/**
|
|
|
- * 订单状态:处理中
|
|
|
+ * 订单状态:指定
|
|
|
*/
|
|
|
- case PROCESSING = 2;
|
|
|
+ case ASSIGNED = 2;
|
|
|
|
|
|
/**
|
|
|
- * 订单状态:已完成
|
|
|
+ * 订单状态:支付
|
|
|
*/
|
|
|
- case COMPLETED = 3;
|
|
|
+ case PAID = 3;
|
|
|
|
|
|
/**
|
|
|
- * 订单状态:已取消
|
|
|
+ * 订单状态:取消
|
|
|
*/
|
|
|
case CANCELLED = 4;
|
|
|
|
|
|
+ /**
|
|
|
+ * 订单状态:退款中
|
|
|
+ */
|
|
|
+ case REFUNDING = 5;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:退款成功
|
|
|
+ */
|
|
|
+ case REFUNDED = 6;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:退款失败
|
|
|
+ */
|
|
|
+ case REFUND_FAILED = 7;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:接单
|
|
|
+ */
|
|
|
+ case ACCEPTED = 8;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:出发
|
|
|
+ */
|
|
|
+ case DEPARTED = 9;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:到达
|
|
|
+ */
|
|
|
+ case ARRIVED = 10;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:服务中
|
|
|
+ */
|
|
|
+ case SERVING = 11;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:服务结束
|
|
|
+ */
|
|
|
+ case FINISHED = 12;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:撤离
|
|
|
+ */
|
|
|
+ case LEFT = 13;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单状态:已评价
|
|
|
+ */
|
|
|
+ case COMMENTED = 14;
|
|
|
+
|
|
|
/**
|
|
|
* 获取状态的显示文本
|
|
|
*
|
|
@@ -35,10 +85,20 @@ enum OrderStatus: int
|
|
|
public function label(): string
|
|
|
{
|
|
|
return match ($this) {
|
|
|
- self::PENDING => '待处理',
|
|
|
- self::PROCESSING => '处理中',
|
|
|
- self::COMPLETED => '已完成',
|
|
|
- self::CANCELLED => '已取消',
|
|
|
+ self::CREATED => '下单',
|
|
|
+ self::ASSIGNED => '指定',
|
|
|
+ self::PAID => '支付',
|
|
|
+ self::CANCELLED => '取消',
|
|
|
+ self::REFUNDING => '退款中',
|
|
|
+ self::REFUNDED => '退款成功',
|
|
|
+ self::REFUND_FAILED => '退款失败',
|
|
|
+ self::ACCEPTED => '接单',
|
|
|
+ self::DEPARTED => '出发',
|
|
|
+ self::ARRIVED => '到达',
|
|
|
+ self::SERVING => '服务',
|
|
|
+ self::FINISHED => '结束',
|
|
|
+ self::LEFT => '撤离',
|
|
|
+ self::COMMENTED => '评价',
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -55,7 +115,7 @@ enum OrderStatus: int
|
|
|
/**
|
|
|
* 检查当前状态是否与指定状态相同
|
|
|
*
|
|
|
- * @param self $status 要比较的状态
|
|
|
+ * @param self $status 要比较的状态
|
|
|
* @return bool 如果状态相同返回 true,否则返回 false
|
|
|
*/
|
|
|
public function is(self $status): bool
|
|
@@ -66,16 +126,26 @@ enum OrderStatus: int
|
|
|
/**
|
|
|
* 根据整数值创建对应的状态枚举实例
|
|
|
*
|
|
|
- * @param int $value 状态值
|
|
|
+ * @param int $value 状态值
|
|
|
* @return self|null 返回对应的状态枚举实例,如果值无效则返回 null
|
|
|
*/
|
|
|
public static function fromValue(int $value): ?self
|
|
|
{
|
|
|
return match ($value) {
|
|
|
- self::PENDING->value => self::PENDING,
|
|
|
- self::PROCESSING->value => self::PROCESSING,
|
|
|
- self::COMPLETED->value => self::COMPLETED,
|
|
|
+ self::CREATED->value => self::CREATED,
|
|
|
+ self::ASSIGNED->value => self::ASSIGNED,
|
|
|
+ self::PAID->value => self::PAID,
|
|
|
self::CANCELLED->value => self::CANCELLED,
|
|
|
+ self::REFUNDING->value => self::REFUNDING,
|
|
|
+ self::REFUNDED->value => self::REFUNDED,
|
|
|
+ self::REFUND_FAILED->value => self::REFUND_FAILED,
|
|
|
+ self::ACCEPTED->value => self::ACCEPTED,
|
|
|
+ self::DEPARTED->value => self::DEPARTED,
|
|
|
+ self::ARRIVED->value => self::ARRIVED,
|
|
|
+ self::SERVING->value => self::SERVING,
|
|
|
+ self::FINISHED->value => self::FINISHED,
|
|
|
+ self::LEFT->value => self::LEFT,
|
|
|
+ self::COMMENTED->value => self::COMMENTED,
|
|
|
default => null
|
|
|
};
|
|
|
}
|
|
@@ -98,10 +168,20 @@ enum OrderStatus: int
|
|
|
public static function all(): array
|
|
|
{
|
|
|
return [
|
|
|
- self::PENDING->value => self::PENDING->label(),
|
|
|
- self::PROCESSING->value => self::PROCESSING->label(),
|
|
|
- self::COMPLETED->value => self::COMPLETED->label(),
|
|
|
+ self::CREATED->value => self::CREATED->label(),
|
|
|
+ self::ASSIGNED->value => self::ASSIGNED->label(),
|
|
|
+ self::PAID->value => self::PAID->label(),
|
|
|
self::CANCELLED->value => self::CANCELLED->label(),
|
|
|
+ self::REFUNDING->value => self::REFUNDING->label(),
|
|
|
+ self::REFUNDED->value => self::REFUNDED->label(),
|
|
|
+ self::REFUND_FAILED->value => self::REFUND_FAILED->label(),
|
|
|
+ self::ACCEPTED->value => self::ACCEPTED->label(),
|
|
|
+ self::DEPARTED->value => self::DEPARTED->label(),
|
|
|
+ self::ARRIVED->value => self::ARRIVED->label(),
|
|
|
+ self::SERVING->value => self::SERVING->label(),
|
|
|
+ self::FINISHED->value => self::FINISHED->label(),
|
|
|
+ self::LEFT->value => self::LEFT->label(),
|
|
|
+ self::COMMENTED->value => self::COMMENTED->label(),
|
|
|
];
|
|
|
}
|
|
|
}
|