parse test
This commit is contained in:
parent
4e7db448aa
commit
15874297a5
|
|
@ -32,10 +32,14 @@ class Orders extends OrderController
|
||||||
$orderItem = $this->orderItemRepository->with('order')
|
$orderItem = $this->orderItemRepository->with('order')
|
||||||
->findOrFail($item_id);
|
->findOrFail($item_id);
|
||||||
|
|
||||||
|
if($order->shipping_amount>0){
|
||||||
|
$order = $this->orderRepository->calculateShipping($order,$orderItem);
|
||||||
|
}
|
||||||
|
|
||||||
if($this->orderItemRepository->cancel($orderItem))
|
if($this->orderItemRepository->cancel($orderItem))
|
||||||
{
|
{
|
||||||
$order = $this->orderRepository->calculateTotals($order,$orderItem);
|
|
||||||
$order = $this->orderRepository->updateOrderStatus($order);
|
$order = $this->orderRepository->updateOrderStatus($order);
|
||||||
|
$order = $this->orderRepository->calculateTotals($order);
|
||||||
|
|
||||||
return response(['data'=>[
|
return response(['data'=>[
|
||||||
'order' => new OrderResource($order)],
|
'order' => new OrderResource($order)],
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,14 @@ class Orders extends OrderController
|
||||||
|
|
||||||
$order = $orderItem->order;
|
$order = $orderItem->order;
|
||||||
|
|
||||||
|
if($order->shipping_amount>0){
|
||||||
|
$order = $this->orderRepository->calculateShipping($order,$orderItem);
|
||||||
|
}
|
||||||
|
|
||||||
if($this->orderItemRepository->cancel($orderItem))
|
if($this->orderItemRepository->cancel($orderItem))
|
||||||
{
|
{
|
||||||
$this->orderRepository->updateOrderStatus($order);
|
$this->orderRepository->updateOrderStatus($order);
|
||||||
$this->orderRepository->calculateTotals($order,$orderItem);
|
$this->orderRepository->calculateTotals($order);
|
||||||
session()->flash('success', trans('admin::app.response.cancel-success', ['name' => 'Order Item']));
|
session()->flash('success', trans('admin::app.response.cancel-success', ['name' => 'Order Item']));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -27,15 +27,51 @@ class OrderItemRepository extends WOrderItemRepo
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($orderItem->qty_ordered) {
|
if ($orderItem->qty_ordered) {
|
||||||
|
// $orderItem->total_weight -= $orderItem->weight * $orderItem->qty_to_cancel;
|
||||||
|
$prosent_discount = ($orderItem->total* $orderItem->discount_percent)/100;
|
||||||
|
$base_prosent_discount = ($orderItem->base_total* $orderItem->discount_percent)/100;
|
||||||
|
$prosentsizDiscount = $orderItem->discount_amount - $prosent_discount;
|
||||||
|
$base_prosentsizDiscount = $orderItem->base_discount_amount - $base_prosent_discount;
|
||||||
|
$shtukDiscount = $prosentsizDiscount/($orderItem->qty_ordered-$orderItem->qty_canceled);
|
||||||
|
$base_shtukDiscount = $base_prosentsizDiscount/($orderItem->qty_ordered-$orderItem->qty_canceled);
|
||||||
$orderItem->qty_canceled += $orderItem->qty_to_cancel;
|
$orderItem->qty_canceled += $orderItem->qty_to_cancel;
|
||||||
|
$orderItem->total = $orderItem->price * ($orderItem->qty_ordered -$orderItem->qty_canceled);
|
||||||
|
$orderItem->discount_amount = ($orderItem->total* $orderItem->discount_percent)/100 + ($shtukDiscount*($orderItem->qty_ordered-$orderItem->qty_canceled));
|
||||||
|
$orderItem->base_total = $orderItem->base_price * ($orderItem->qty_ordered -$orderItem->qty_canceled);
|
||||||
|
$orderItem->base_discount_amount = ($orderItem->base_total* $orderItem->discount_percent)/100 + ($base_shtukDiscount*($orderItem->qty_ordered-$orderItem->qty_canceled));
|
||||||
|
|
||||||
$orderItem->save();
|
$orderItem->save();
|
||||||
|
|
||||||
if ($orderItem->parent && $orderItem->parent->qty_ordered) {
|
if ($orderItem->parent && $orderItem->parent->qty_ordered) {
|
||||||
|
$prosent_discount = ($orderItem->parent->total* $orderItem->parent->discount_percent)/100;
|
||||||
|
$base_prosent_discount = ($orderItem->parent->base_total* $orderItem->parent->discount_percent)/100;
|
||||||
|
$prosentsizDiscount = $orderItem->parent->discount_amount - $prosent_discount;
|
||||||
|
$base_prosentsizDiscount = $orderItem->parent->base_discount_amount - $base_prosent_discount;
|
||||||
|
$shtukDiscount = $prosentsizDiscount/($orderItem->parent->qty_ordered-$orderItem->parent->qty_canceled);
|
||||||
|
$base_shtukDiscount = $base_prosentsizDiscount/($orderItem->parent->qty_ordered-$orderItem->parent->qty_canceled);
|
||||||
$orderItem->parent->qty_canceled += $orderItem->parent->qty_to_cancel;
|
$orderItem->parent->qty_canceled += $orderItem->parent->qty_to_cancel;
|
||||||
|
$orderItem->parent->total = $orderItem->parent->price * ($orderItem->parent->qty_ordered -$orderItem->parent->qty_canceled);
|
||||||
|
$orderItem->parent->discount_amount = ($orderItem->parent->total* $orderItem->parent->discount_percent)/100 +
|
||||||
|
($shtukDiscount*($orderItem->parent->qty_ordered - $orderItem->parent->qty_canceled));
|
||||||
|
$orderItem->parent->base_total = $orderItem->parent->base_price * ($orderItem->parent->qty_ordered -$orderItem->parent->qty_canceled);
|
||||||
|
$orderItem->parent->base_discount_amount = ($orderItem->parent->base_total * $orderItem->parent->discount_percent)/100 +
|
||||||
|
($base_shtukDiscount * ($orderItem->parent->qty_ordered - $orderItem->parent->qty_canceled));
|
||||||
$orderItem->parent->save();
|
$orderItem->parent->save();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
$prosent_discount = ($orderItem->parent->total* $orderItem->parent->discount_percent)/100;
|
||||||
|
$base_prosent_discount = ($orderItem->parent->base_total* $orderItem->parent->discount_percent)/100;
|
||||||
|
$prosentsizDiscount = $orderItem->parent->discount_amount - $prosent_discount;
|
||||||
|
$base_prosentsizDiscount = $orderItem->parent->base_discount_amount - $base_prosent_discount;
|
||||||
|
$shtukDiscount = $prosentsizDiscount/($orderItem->parent->qty_ordered-$orderItem->parent->qty_canceled);
|
||||||
|
$base_shtukDiscount = $base_prosentsizDiscount/($orderItem->parent->qty_ordered-$orderItem->parent->qty_canceled);
|
||||||
$orderItem->parent->qty_canceled += $orderItem->parent->qty_to_cancel;
|
$orderItem->parent->qty_canceled += $orderItem->parent->qty_to_cancel;
|
||||||
|
$orderItem->parent->total = $orderItem->parent->price * ($orderItem->parent->qty_ordered -$orderItem->parent->qty_canceled);
|
||||||
|
$orderItem->parent->discount_amount = ($orderItem->parent->total* $orderItem->parent->discount_percent)/100 +
|
||||||
|
($shtukDiscount*($orderItem->parent->qty_ordered - $orderItem->parent->qty_canceled));
|
||||||
|
$orderItem->parent->base_total = $orderItem->parent->base_price * ($orderItem->parent->qty_ordered -$orderItem->parent->qty_canceled);
|
||||||
|
$orderItem->parent->base_discount_amount = ($orderItem->parent->base_total * $orderItem->parent->discount_percent)/100 +
|
||||||
|
($base_shtukDiscount * ($orderItem->parent->qty_ordered - $orderItem->parent->qty_canceled));
|
||||||
$orderItem->parent->save();
|
$orderItem->parent->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,36 +47,33 @@ class OrderRepository extends WOrderRepository
|
||||||
return $order->items()->sum('qty_invoiced') > 0;
|
return $order->items()->sum('qty_invoiced') > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function calculateTotals($order, $order_item){
|
public function calculateTotals($order){
|
||||||
if($order && $order_item && $order->shipping_amount >0){
|
|
||||||
$total_weight = $order_item->total_weight;
|
|
||||||
foreach($order->items as $item ){
|
|
||||||
if($item->id !== $order_item->id)
|
|
||||||
$total_weight += ($item->qty_ordered - $item->qty_canceled) * $item->weight;
|
|
||||||
}
|
|
||||||
$shipping_price = $order->shipping_amount/$total_weight;
|
|
||||||
$base_shipping_price = $order->base_shipping_amount/$total_weight;
|
|
||||||
$canceled_amount = $shipping_price * $order_item->qty_canceled * $order_item->weight;
|
|
||||||
$canceled_base_amount = $base_shipping_price * $order_item->qty_canceled * $order_item->weight;
|
|
||||||
$order->shipping_amount = $order->shipping_amount - $canceled_amount;
|
|
||||||
$order->base_shipping_amount = $order->base_shipping_amount - $canceled_base_amount;
|
|
||||||
$order->grand_total = $order->grand_total - $canceled_amount;
|
|
||||||
$order->base_grand_total = $order->base_grand_total - $canceled_base_amount;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($order && $order_item){
|
$order->sub_total = $order->items()->sum('total');
|
||||||
$total_price = $order_item->price * $order_item->qty_canceled;
|
$order->base_sub_total = $order->items()->sum('base_total');
|
||||||
$total_base_price = $order_item->base_price * $order_item->qty_canceled;
|
|
||||||
$total_discount = $total_price * $order_item->discount_percent/100;
|
// dd($order);
|
||||||
$total_base_discount = $total_base_price * $order_item->discount_percent/100;
|
$order->grand_total = $order->shipping_amount + $order->sub_total - $order->items->sum('discount_amount') - $order->shipping_discount_amount;
|
||||||
$order->sub_total = $order->sub_total - $total_price;
|
$order->base_grand_total = $order->base_shipping_amount + $order->base_sub_total - $order->items->sum('base_discount_amount') - $order->base_shipping_discount_amount;
|
||||||
$order->base_sub_total = $order->base_sub_total - $total_base_price;
|
|
||||||
$order->grand_total = $order->grand_total - ($total_price + $total_discount);
|
|
||||||
$order->base_grand_total = $order->base_grand_total-($total_base_price + $total_base_discount);
|
|
||||||
}
|
|
||||||
|
|
||||||
$order->save();
|
$order->save();
|
||||||
|
|
||||||
return $order;
|
return $order;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function calculateShipping($order,$order_item){
|
||||||
|
$total_weight = $order->items->sum('total_weight');
|
||||||
|
// $order_item->total_weight = ($order_item->qty_ordered - $order_item->qty_canceled) * $order_item->weight;
|
||||||
|
|
||||||
|
$shipping_price = $order->shipping_amount/$total_weight;
|
||||||
|
$base_shipping_price = $order->base_shipping_amount/$total_weight;
|
||||||
|
|
||||||
|
$canceled_amount = $shipping_price * $order_item->qty_to_cancel * $order_item->weight;
|
||||||
|
$canceled_base_amount = $base_shipping_price * $order_item->qty_to_cancel * $order_item->weight;
|
||||||
|
|
||||||
|
$order->shipping_amount = $order->shipping_amount - $canceled_amount;
|
||||||
|
$order->base_shipping_amount = $order->base_shipping_amount - $canceled_base_amount;
|
||||||
|
|
||||||
|
return $order;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue