File: /home/armgroup/libs/app/Http/Livewire/Admin/Order/ShippingPrice.php
<?php
namespace App\Http\Livewire\Admin\Order;
use App\Http\Livewire\ConvertEmptyStringsToNull;
use App\Http\Livewire\General;
use App\Models\Order;
use Illuminate\Support\Facades\DB;
use Livewire\Component;
class ShippingPrice extends Component
{
use ConvertEmptyStringsToNull;
use General;
public Order $order;
public $price;
public function mount()
{
$this->price = $this->order->shipping_price;
}
public function render()
{
return view('livewire.admin.order.shipping-price');
}
public function update()
{
$this->validate([
'price' => ['required', 'min:0', 'max:10000000', 'integer'],
]);
if ($this->price != $this->order->shipping_price) {
DB::transaction(function () {
$this->order->update([
'shipping_price' => $this->price,
'price' => $this->order->price - $this->order->shipping_price + $this->price,
]);
saveActivity("هزینه ارسال سفارش {$this->order->tracking_code} را ویرایش کرد.");
});
}
$this->doneMessage();
return redirect()->route('admin.orders.edit', $this->order->id);
}
}