Bläddra i källkod

Merge branch 'master' of https://rav.triplestart.com/tigerphp/lemon-admin

Peter Muturi 7 månader sedan
förälder
incheckning
07788eb962

+ 27 - 0
app/Http/Controllers/AdminController.php

@@ -568,6 +568,33 @@ class AdminController extends Controller
     return $this->pass();
   }
 
+  public function cancelOrder(Request $request, StoreOrder $order){
+
+    $memo = $request->get('memo');
+    if(!$memo) return $this->fail('Memo is required!');
+    $order->is_cancelled = true;
+    $order->cancellelation_memo = $memo;
+    $order->save();
+
+    $relatedTrx = FinancialTransaction::where('order_id', $order->id)->where('charge_or_refund', 'CHARGE')->orderBy('created_at', 'ASC')->first();
+    if(!$relatedTrx) return $this->pass();
+
+
+    //Refund
+    $data = [
+        'orderUid' => $order->uid,
+        'paymentMethodUid' => $relatedTrx->paymentMethod->uid,
+        'amount' => $relatedTrx->amount,
+        'refundOfTransactionUid' => $relatedTrx->uid,
+        ];
+
+        $response = $this->callJava('/api/financialTransaction/createRefund', $data, $this->sessionKey);
+        if (!@$response['success']) {
+            return $this->fail($response['message'] ?? 'Failed!');
+        }
+        return $this->pass();
+  }
+
     public function userMakeAdmin(User $user)
     {
         $user->is_super_admin = true;

+ 2 - 1
resources/views/app/my-account/admin/orders/forms/cancel-order.blade.php

@@ -1,6 +1,7 @@
 <div moe>
     <a href="#" start show class="text-danger"><small class="text-nowrap">Cancel Order</small></a>
-    <form url="/api/storeOrder/cancel" right>
+    <form url="{{ route('admin.orders.view.cancel-order', $order) }}" right>
+        @csrf
         <input type="hidden" name="uid" value="{{ $order->uid }}">
         <div class="mb-2">
             <p>Are you sure?</p>

+ 4 - 1
resources/views/app/my-account/admin/orders/single.blade.php

@@ -10,7 +10,10 @@
       <h2 class="font-size-16 text-secondary fw-bold m-0">Order: From {{ $order->user->full_name }}</h2>
       <div>
         @if($order->is_cancelled)
-          <span class="text-danger fw-bold">CANCELLED</span>
+          <div class="d-flex flex-column">
+            <span class="text-danger fw-bold">CANCELLED</span>
+            <small class="text-muted fw-bold">{{ $order->cancellelation_memo }}</small>
+          </div>
         @else
           @include("app.my-account.admin.orders.forms.cancel-order")
         @endif

+ 1 - 0
routes/web.php

@@ -82,6 +82,7 @@ Route::group(['middleware' => ['ensureUserLoggedIn']], function () {
                 Route::post('/file/upload', [AdminController::class, 'uploadFile'])->name('.upload-file');
                 Route::post('/email-report', [AdminController::class, 'emailReport'])->name('.email-report');
                 Route::post('/sms-report', [AdminController::class, 'smsReport'])->name('.sms-report');
+                Route::post('/cancel-order', [AdminController::class, 'cancelOrder'])->name('.cancel-order');
             });
 
             Route::get('/payment-methods', [AdminController::class, 'paymentMethods'])->name('.payment-methods');