Преглед на файлове

refactor(enum): 将运费模板枚举类重构为原生枚举- 将 ShippingTemplateAreaTypeEnum 类转换为 string 类型的原生枚举- 将 ShippingTemplateCalcMethodEnum 类转换为 string 类型的原生枚举
- 将 ShippingTemplateStatusEnum 类转换为 int 类型的原生枚举- 移除对 BaseEnum 基类的依赖
- 使用 match 表达式替换原有的静态文本映射数组
-保留原有的枚举值和注释说明

runphp преди 5 месеца
родител
ревизия
b25c873a9b
променени са 3 файла, в които са добавени 32 реда и са изтрити 54 реда
  1. 10 16
      src/Enum/ShippingTemplateAreaTypeEnum.php
  2. 12 22
      src/Enum/ShippingTemplateCalcMethodEnum.php
  3. 10 16
      src/Enum/ShippingTemplateStatusEnum.php

+ 10 - 16
src/Enum/ShippingTemplateAreaTypeEnum.php

@@ -3,25 +3,19 @@ declare(strict_types=1);
 
 namespace SixShop\ShippingTemplate\Enum;
 
-use SixShop\Core\Enum\BaseEnum;
-
 /**
  * 运费模板区域类型枚举
  */
-class ShippingTemplateAreaTypeEnum extends BaseEnum
+enum ShippingTemplateAreaTypeEnum: string
 {
-    /**
-     * @var string 默认区域
-     */
-    public const string DEFAULT = 'default';
-
-    /**
-     * @var string 特殊区域
-     */
-    public const string SPECIAL = 'special';
+    case DEFAULT = 'default'; // 默认区域
+    case SPECIAL = 'special'; // 特殊区域
 
-    protected static array $texts = [
-        self::DEFAULT => '默认区域',
-        self::SPECIAL => '特殊区域',
-    ];
+    public function toString(): string
+    {
+        return match ($this) {
+            self::DEFAULT => '默认区域',
+            self::SPECIAL => '特殊区域',
+        };
+    }
 }

+ 12 - 22
src/Enum/ShippingTemplateCalcMethodEnum.php

@@ -3,31 +3,21 @@ declare(strict_types=1);
 
 namespace SixShop\ShippingTemplate\Enum;
 
-use SixShop\Core\Enum\BaseEnum;
-
 /**
  * 运费模板计费方式枚举
  */
-class ShippingTemplateCalcMethodEnum extends BaseEnum
+enum ShippingTemplateCalcMethodEnum: string
 {
-    /**
-     * @var string 按件数计算
-     */
-    public const string PIECE = 'piece';
-
-    /**
-     * @var string 按重量计算
-     */
-    public const string WEIGHT = 'weight';
-
-    /**
-     * @var string 按体积计算
-     */
-    public const string VOLUME = 'volume';
+    case PIECE = 'piece';   // 按件数计算
+    case WEIGHT = 'weight'; // 按重量计算
+    case VOLUME = 'volume'; // 按体积计算
 
-    protected static array $texts = [
-        self::PIECE => '按件数',
-        self::WEIGHT => '按重量',
-        self::VOLUME => '按体积',
-    ];
+    public function toString(): string
+    {
+        return match ($this) {
+            self::PIECE => '按件数',
+            self::WEIGHT => '按重量',
+            self::VOLUME => '按体积',
+        };
+    }
 }

+ 10 - 16
src/Enum/ShippingTemplateStatusEnum.php

@@ -3,25 +3,19 @@ declare(strict_types=1);
 
 namespace SixShop\ShippingTemplate\Enum;
 
-use SixShop\Core\Enum\BaseEnum;
-
 /**
  * 运费模板状态枚举
  */
-class ShippingTemplateStatusEnum extends BaseEnum
+enum ShippingTemplateStatusEnum: int
 {
-    /**
-     * @var int 禁用
-     */
-    public const int DISABLED = 0;
-
-    /**
-     * @var int 启用
-     */
-    public const int ENABLED = 1;
+    case DISABLED = 0; // 禁用
+    case ENABLED = 1;  // 启用
 
-    protected static array $texts = [
-        self::DISABLED => '禁用',
-        self::ENABLED => '启用',
-    ];
+    public function toString(): string
+    {
+        return match ($this) {
+            self::DISABLED => '禁用',
+            self::ENABLED => '启用',
+        };
+    }
 }