walletservice/app/Http/Controllers/CommissionController.php

54 lines
1.4 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers;
use App\Models\ConfigWallet;
use App\Models\Network;
use App\Models\NetworksAgent;
use App\Models\TransfertCommissionTransaction;
use App\Models\Wallet;
use App\Models\WalletTransaction;
use App\Traits\ApiResponser;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Date;
use Illuminate\Support\Facades\Mail;
class CommissionController extends Controller
{
use ApiResponser;
/**
* 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 = new \DateTime();
$wallet->save();
$transaction->save();
return $this->successResponse($wallet);
}
}