Viewing file: SaleFeesController.php (3.82 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\FeeGroup;
use App\Models\SaleFee;
use App\Models\Vendor;
use GuzzleHttp\Client;
class SaleFeesController extends Controller
{
public function orderFees($vendor_id,$shop_id,$sale_id,$invoice_no,$total,$grand_total,$delivery_partner,$payment_method,$edited)
{
$data=Vendor::with('fee_Group')->find($vendor_id);
$today = date("Y-m-d");
// return $today;
if ($data->fee_Group->end_time && $data->fee_Group->end_time < $today) {
$data=FeeGroup::find(1);
}elseif ($data->fee_Group->start_time && $data->fee_Group->start_time > $today) {
$data=FeeGroup::find(1);
}else {
$data=$data->fee_Group;
}
$jiff_fee=$total*($data->jiff_fee/100);
$pg_fee=0;
// online payment
if ($payment_method==2) {
if ($delivery_partner==3) {
$pg_fee=$total*($data->payment_gatway/100);
}else {
$pg_fee=$grand_total*($data->payment_gatway/100);
}
}
$shp_fee=0;
// delivered by jiff
if ($delivery_partner==1) {
$shp_fee=$data->shipping_fee;
}
$total=$jiff_fee+$shp_fee+$pg_fee;
// delivered by jiff or online payment
if ($delivery_partner==1 ||$payment_method==2) {
$vendor_rcv=$grand_total-$total;
$vendor_pay=0;
}
// delivered by vendor and cod payment
if ($delivery_partner==2 && $payment_method==1) {
$vendor_rcv=0;
$vendor_pay=$total;
}
// customer on shop pickup and cod payment
if ($delivery_partner==3 && $payment_method==1) {
$vendor_rcv=0;
$vendor_pay=$total;
}
if ($edited==0) {
$sales_dist=[
"sale_id"=>$sale_id,
"invoice_no"=>$invoice_no,
"vendor_id"=>$vendor_id,
'shop_id'=>$shop_id,
"jiff_fee"=>round($jiff_fee,2),
"shipping_fee"=>round($shp_fee,2),
"payment_gateway_fee"=>round($pg_fee,2),
"grand_total"=>$grand_total,
"total_fee"=>$total,
"vendor_payable"=>round($vendor_pay,2),
"vendor_receivable"=>round($vendor_rcv,2)
];
$dist=SaleFee::create($sales_dist);
$client = new Client([
'auth' => ['Mongo_API', 'jiFFMongo@2023!@!@!@']
]);
$res = $client->request('POST', 'https://api.businesscloud.xyz/sale_fees',["json"=>$sales_dist]);
}else {
$sales_dist=[
"jiff_fee"=>$jiff_fee,
"shipping_fee"=>round($shp_fee,2),
"payment_gateway_fee"=>round($pg_fee,2),
"grand_total"=>$grand_total,
"total_fee"=>$total,
"vendor_payable"=>round($vendor_pay,2),
"vendor_receivable"=>round($vendor_rcv,2)
];
$dist=SaleFee::where("sale_id",$sale_id)->where("vendor_id",$vendor_id)->update($sales_dist);
$req_body=array_merge($sales_dist, ['vendor_id' => $vendor_id,"sale_id"=>$sale_id]);
$client = new Client([
'auth' => ['Mongo_API', 'jiFFMongo@2023!@!@!@']
]);
$res = $client->request('PUT', 'https://api.businesscloud.xyz/sale_fees',["json"=>$req_body]);
}
return "success";
// if ($res->getStatusCode()==200) {
// return response()->json(json_decode($res->getBody()->getContents()));
// }else {
// return response()->json(["error"=>"true", "message"=>json_decode($res->getBody()->getContents())],getStatusCode());
// }
}
}
|