walletservice/app/Http/Controllers/CommissionController.php

45 lines
1.2 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers;
use App\Models\TransfertCommissionTransaction;
use App\Models\Wallet;
use Illuminate\Http\Response;
class CommissionController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//
}
public function virement($id_wallet)
{
$wallet = Wallet::findOrFail($id_wallet);
if($wallet->balance_com <=0 )
return $this->errorResponse(trans('messages.empty_com_balance') , Response::HTTP_BAD_REQUEST);
$transaction = new TransfertCommissionTransaction();
$transaction->balance_princ_init = $wallet->balance_princ;
$transaction->balance_com_init = $wallet->balance_com;
$wallet->balance_princ += $wallet->balance_com;
$wallet->balance_com = 0;
$transaction->balance_princ_final = $wallet->balance_princ;
$transaction->balance_com_final = $wallet->balance_com;
$transaction->id_wallet_ag = $wallet->id;
$transaction->date = $this->getCurrentTime($wallet->networks_agent->network->country_id);
$wallet->save();
$transaction->save();
return $this->successResponse($wallet);
}
}