First step: Add distance column in orders table
Sql query:
ALTER TABLE 'orders' ADD 'distance' DECIMAL(10,2) NOT NULL AFTER 'sub_total';
Second Step:
change line from 124 to 152 in OrderController.php in app\Http\Controllers
Code:
if ($request->delivery_type == 1) {
if ($restaurant->delivery_charge_type == 'DYNAMIC') {
//get distance between user and restaurant,
if (config('appSettings.enGDMA') == 'true') {
$distance = (float) $request->dis;
} else {
$distance = $this->getDistance($request['user']['data']['default_address']['latitude'], $request['user']['data']['default_address']['longitude'], $restaurant->latitude, $restaurant->longitude);
}
if ($distance > $restaurant->base_delivery_distance) {
$extraDistance = $distance - $restaurant->base_delivery_distance;
$extraCharge = ($extraDistance / $restaurant->extra_delivery_distance) * $restaurant->extra_delivery_charge;
$dynamicDeliveryCharge = $restaurant->base_delivery_charge + $extraCharge;
if (config('appSettings.enDelChrRnd') == 'true') {
$dynamicDeliveryCharge = ceil($dynamicDeliveryCharge);
}
$newOrder->delivery_charge = $dynamicDeliveryCharge;
$orderTotal = $orderTotal + $dynamicDeliveryCharge;
} else {
$newOrder->delivery_charge = $restaurant->base_delivery_charge;
$orderTotal = $orderTotal + $restaurant->base_delivery_charge;
}
$newOrder->distance=$distance;
} else {
if (config('appSettings.enGDMA') == 'true') {
$distance = (float) $request->dis;
} else {
$distance = $this->getDistance($request['user']['data']['default_address']['latitude'], $request['user']['data']['default_address']['longitude'], $restaurant->latitude, $restaurant->longitude);
}
$newOrder->distance=$distance;
$newOrder->delivery_charge = $restaurant->delivery_charges;
$orderTotal = $orderTotal + $restaurant->delivery_charges;
}
Third step to view in orders table:-
Replace file orders.blade in resources\views\admin
File: https://drive.google.com/file/d/18b457Se-0-9sVg9KM6Gfk_g_ZFtI7vZY/view?usp=sharing
Helped by: @[deleted]