chengwl 3 днів тому
батько
коміт
a9727a8197

+ 2 - 2
packages/Webkul/BagistoApi/src/Jobs/ReconcilePendingPaymentJob.php

@@ -52,7 +52,7 @@ class ReconcilePendingPaymentJob implements ShouldQueue
         if (! $order) {
             return;
         }
-
+     
         if (! in_array($order->status, [Order::STATUS_PENDING, Order::STATUS_PENDING_PAYMENT], true)) {
             return;
         }
@@ -113,7 +113,7 @@ class ReconcilePendingPaymentJob implements ShouldQueue
                     return false;
                 }
 
-                return (bool) $orderRepository->cancel($lockedOrder);
+                return (bool) $orderRepository->cancel($lockedOrder,true);
             });
 
             if ($cancelled) {

+ 4 - 4
packages/Webkul/Sales/src/Repositories/OrderRepository.php

@@ -117,13 +117,13 @@ class OrderRepository extends Repository
      * @param  \Webkul\Sales\Models\Order|int  $orderOrId
      * @return bool
      */
-    public function cancel($orderOrId)
+    public function cancel($orderOrId,$force=false)
     {
         /* order */
         $order = $this->resolveOrderInstance($orderOrId);
 
         /* check wether order can be cancelled or not */
-        if (! $order->canCancel()) {
+        if (! $order->canCancel() && ! $force) {
             return false;
         }
 
@@ -167,7 +167,7 @@ class OrderRepository extends Repository
             $this->downloadableLinkPurchasedRepository->updateStatus($item, 'expired');
         }
 
-        $this->updateOrderStatus($order);
+        $this->updateOrderStatus($order, $force ? Order::STATUS_CANCELED : null);
 
         Event::dispatch('sales.order.cancel.after', $order);
 
@@ -299,7 +299,7 @@ class OrderRepository extends Repository
 
         if (! empty($orderState)) {
             $status = $orderState;
-        } else {
+        } else {    
             $status = Order::STATUS_PROCESSING;
 
             if ($this->isInCompletedState($order)) {