moonsflyer 5 месяцев назад
Родитель
Сommit
b414eee335
1 измененных файлов с 21 добавлено и 14 удалено
  1. 21 14
      app/shopapi/logic/Order/OrderBtnLogic.php

+ 21 - 14
app/shopapi/logic/Order/OrderBtnLogic.php

@@ -86,23 +86,30 @@ class OrderBtnLogic extends BaseLogic
     public static function getCancelBtn($order)
     {
         $btn = OrderEnum::BTN_HIDE;
-        //未支付的允许取消,订单已支付时,在允许取消的时间内并且订单未发货,允许取消
-        if ($order['order_status'] == OrderEnum::STATUS_WAIT_PAY
-            || $order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY
-        ) {
-            $btn = OrderEnum::BTN_SHOW;
-        }
-        if ($order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY) {
-            $ableCancelOrder = ConfigService::get('transaction', 'cancel_unshipped_orders');
-            if ($ableCancelOrder == YesNoEnum::NO) {
-                $btn = OrderEnum::BTN_HIDE;
+        if($order['is_after_sale'] == 0){
+            //未支付的允许取消,订单已支付时,在允许取消的时间内并且订单未发货,允许取消
+            if ($order['order_status'] == OrderEnum::STATUS_WAIT_PAY
+                || $order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY
+            ) {
+                $btn = OrderEnum::BTN_SHOW;
             }
-            $configTime = ConfigService::get('transaction', 'cancel_unshipped_orders_times');
-            $ableCancelTime = strtotime($order['pay_time']) + ($configTime * 60);
-            if (time() > $ableCancelTime) {
-                $btn = OrderEnum::BTN_HIDE;
+            if ($order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY) {
+                $ableCancelOrder = ConfigService::get('transaction', 'cancel_unshipped_orders');
+                if ($ableCancelOrder == YesNoEnum::NO) {
+                    $btn = OrderEnum::BTN_HIDE;
+                }
+                $configTime = ConfigService::get('transaction', 'cancel_unshipped_orders_times');
+                $ableCancelTime = strtotime($order['pay_time']) + ($configTime * 60);
+                if (time() > $ableCancelTime) {
+                    $btn = OrderEnum::BTN_HIDE;
+                }
+            }
+        }else{
+            if($order['after_sale_status']  == 1 || $order['after_sale_status']  == 4){
+                $btn = OrderEnum::BTN_SHOW;
             }
         }
+
         return $btn;
     }