Jelajahi Sumber

优化:补充枚举类的使用

萤火科技 2 tahun lalu
induk
melakukan
6c6aaf7a18

+ 0 - 4
app/admin/model/store/Menu.php

@@ -63,10 +63,6 @@ class Menu extends MenuModel
                 return false;
             }
         }
-        // 如果模块是操作, 不允许修改上级菜单id
-        if ($this['module'] == 20 && isset($data['parent_id'])) {
-            unset($data['parent_id']);
-        }
         return $this->save($data);
     }
 

+ 2 - 2
app/api/service/order/Checkout.php

@@ -715,7 +715,7 @@ class Checkout extends BaseService
         // 新增订单记录
         $this->add($order, $this->param['remark']);
         // 保存订单数据 (根据订单类型)
-        $order['orderType'] == 10 && $this->saveOrderByPhysical($order);
+        $order['orderType'] == OrderType::PHYSICAL && $this->saveOrderByPhysical($order);
         // 保存订单商品信息
         $this->saveOrderGoods($order);
         // 更新商品库存 (针对下单减库存的商品)
@@ -752,7 +752,7 @@ class Checkout extends BaseService
      */
     private function validateOrderForm(array $order): bool
     {
-        if ($order['orderType'] == 10) {
+        if ($order['orderType'] == OrderType::PHYSICAL) {
             return $this->validateOrderFormByPhysical($order);
         }
         return true;

+ 2 - 1
app/api/service/order/source/checkout/Main.php

@@ -13,6 +13,7 @@ declare (strict_types=1);
 namespace app\api\service\order\source\checkout;
 
 use app\api\service\Order as OrderService;
+use app\common\enum\goods\Status as GoodsStatusEnum;
 use app\common\enum\order\OrderSource as OrderSourceEnum;
 
 /**
@@ -50,7 +51,7 @@ class Main extends Basics
     private function validateGoodsStatus(): bool
     {
         foreach ($this->goodsList as $goods) {
-            if ($goods['is_delete'] || $goods['status'] == 20) {
+            if ($goods['is_delete'] || $goods['status'] == GoodsStatusEnum::OFF_SALE) {
                 $this->error = "很抱歉,商品 [{$goods['goods_name']}] 已下架";
                 return false;
             }

+ 47 - 0
app/common/enum/delivery/Method.php

@@ -0,0 +1,47 @@
+<?php
+// +----------------------------------------------------------------------
+// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
+// +----------------------------------------------------------------------
+// | Author: 萤火科技 <admin@yiovo.com>
+// +----------------------------------------------------------------------
+declare (strict_types=1);
+
+namespace app\common\enum\delivery;
+
+use app\common\enum\EnumBasics;
+
+/**
+ * 枚举类:配送模板 - 计费方式
+ * Class Method
+ * @package app\common\enum\goods
+ */
+class Method extends EnumBasics
+{
+    // 按数量
+    const QUANTITY = 10;
+
+    // 按重量
+    const WEIGHT = 20;
+
+    /**
+     * 获取枚举类型值
+     * @return array
+     */
+    public static function data(): array
+    {
+        return [
+            self::QUANTITY => [
+                'name' => '按数量',
+                'value' => self::QUANTITY,
+            ],
+            self::WEIGHT => [
+                'name' => '按重量',
+                'value' => self::WEIGHT,
+            ]
+        ];
+    }
+}

+ 47 - 0
app/common/enum/menu/Type.php

@@ -0,0 +1,47 @@
+<?php
+// +----------------------------------------------------------------------
+// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
+// +----------------------------------------------------------------------
+// | Author: 萤火科技 <admin@yiovo.com>
+// +----------------------------------------------------------------------
+declare (strict_types=1);
+
+namespace app\common\enum\menu;
+
+use app\common\enum\EnumBasics;
+
+/**
+ * 枚举类:商家后台菜单 - 菜单类型
+ * Class Type
+ * @package app\common\enum\goods
+ */
+class Type extends EnumBasics
+{
+    // 页面
+    const PAGE = 10;
+
+    // 操作
+    const ACTION = 20;
+
+    /**
+     * 获取枚举类型值
+     * @return array
+     */
+    public static function data(): array
+    {
+        return [
+            self::PAGE => [
+                'name' => '页面',
+                'value' => self::PAGE,
+            ],
+            self::ACTION => [
+                'name' => '操作',
+                'value' => self::ACTION,
+            ]
+        ];
+    }
+}

+ 3 - 2
app/common/model/Coupon.php

@@ -14,6 +14,7 @@ namespace app\common\model;
 
 use cores\BaseModel;
 use app\common\library\helper;
+use app\common\enum\coupon\ExpireType as ExpireTypeEnum;
 
 /**
  * 优惠券模型
@@ -48,7 +49,7 @@ class Coupon extends BaseModel
         if ($data['total_num'] > -1 && $data['receive_num'] >= $data['total_num']) {
             return ['text' => '已抢光', 'value' => 0];
         }
-        if ($data['expire_type'] == 20 && ($data['end_time'] + 86400) < time()) {
+        if ($data['expire_type'] == ExpireTypeEnum::FIXED_TIME && ($data['end_time'] + 86400) < time()) {
             return ['text' => '已过期', 'value' => 0];
         }
         return ['text' => '正常', 'value' => 1];
@@ -139,7 +140,7 @@ class Coupon extends BaseModel
             $this->error = '很抱歉,当前优惠券已发完';
             return false;
         }
-        if ($couponInfo['expire_type'] == 20 && ($couponInfo->getData('end_time') + 86400) < time()) {
+        if ($couponInfo['expire_type'] == ExpireTypeEnum::FIXED_TIME && ($couponInfo->getData('end_time') + 86400) < time()) {
             $this->error = '很抱歉,当前优惠券已过期';
             return false;
         }

+ 3 - 2
app/common/service/delivery/Express.php

@@ -13,9 +13,10 @@ declare (strict_types=1);
 namespace app\common\service\delivery;
 
 use app\common\library\helper;
-use app\common\enum\Setting as SettingEnum;
 use app\common\model\Delivery as DeliveryModel;
 use app\common\model\store\Setting as SettingModel;
+use app\common\enum\Setting as SettingEnum;
+use app\common\enum\delivery\Method as DeliveryMethodEnum;
 use app\common\service\BaseService;
 
 /**
@@ -218,7 +219,7 @@ class Express extends BaseService
                 $totalNum = helper::bcadd($totalNum, $goodsItem['total_num']);
             }
         }
-        return $item['delivery']['method'] == 10 ? $totalNum : $totalWeight;
+        return $item['delivery']['method'] == DeliveryMethodEnum::QUANTITY ? $totalNum : $totalWeight;
     }
 
     /**

+ 6 - 4
app/common/service/order/Complete.php

@@ -18,6 +18,8 @@ use app\common\model\Order as OrderModel;
 use app\common\model\store\Setting as SettingModel;
 use app\common\model\user\PointsLog as PointsLogModel;
 use app\common\enum\Setting as SettingEnum;
+use app\common\enum\order\refund\RefundType as RefundTypeEnum;
+use app\common\enum\order\refund\AuditStatus as AuditStatusEnum;
 use app\common\service\BaseService;
 
 /**
@@ -100,8 +102,8 @@ class Complete extends BaseService
             foreach ($order['goods'] as $goods) {
                 if (
                     !empty($goods['refund'])
-                    && $goods['refund']['type'] == 10      // 售后类型:退货退款
-                    && $goods['refund']['audit_status'] == 10  // 商家审核:已同意
+                    && $goods['refund']['type'] == RefundTypeEnum::RETURN      // 售后类型:退货退款
+                    && $goods['refund']['audit_status'] == AuditStatusEnum::REVIEWED  // 商家审核:已同意
                 ) {
                     $pointsBonus -= $goods['points_bonus'];
                 }
@@ -141,8 +143,8 @@ class Complete extends BaseService
             foreach ($order['goods'] as $goods) {
                 if (
                     !empty($goods['refund'])
-                    && $goods['refund']['type'] == 10      // 售后类型:退货退款
-                    && $goods['refund']['audit_status'] == 10  // 商家审核:已同意
+                    && $goods['refund']['type'] == RefundTypeEnum::RETURN      // 售后类型:退货退款
+                    && $goods['refund']['audit_status'] == AuditStatusEnum::REVIEWED  // 商家审核:已同意
                 ) {
                     $expendMoney = helper::bcsub($expendMoney, $goods['refund']['refund_money']);
                 }

+ 2 - 1
app/store/service/store/Role.php

@@ -17,6 +17,7 @@ use app\store\model\store\Menu as MenuModel;
 use app\store\model\store\UserRole as UserRoleModel;
 use app\store\model\store\RoleMenu as RoleMenuModel;
 use app\store\service\store\User as UserService;
+use app\common\enum\menu\Type as MenuTypeEnum;
 use think\db\exception\DataNotFoundException;
 use think\db\exception\DbException;
 use think\db\exception\ModelNotFoundException;
@@ -103,7 +104,7 @@ class Role extends BaseService
             if (!empty($item['children'])) {
                 // 整理actions
                 $item['actions'] = array_filter($item['children'], function ($val) {
-                    return $val['type'] == 20;
+                    return $val['type'] == MenuTypeEnum::ACTION;
                 });
                 // 整理children
                 $item['children'] = static::filterChildrenAction($item['children']);