소스 검색

fixed:枚举-订单状态

刘学玺 4 달 전
부모
커밋
05bfa5c4d8
1개의 변경된 파일99개의 추가작업 그리고 19개의 파일을 삭제
  1. 99 19
      app/Enums/OrderStatus.php

+ 99 - 19
app/Enums/OrderStatus.php

@@ -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(),
         ];
     }
 }