+ Change Agent - Retrait en cash method
This commit is contained in:
parent
6c0c4dbbce
commit
95127012a8
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
||||||
use App\Models\ConfigWallet;
|
use App\Models\ConfigWallet;
|
||||||
use App\Models\Network;
|
use App\Models\Network;
|
||||||
use App\Models\NetworksAgent;
|
use App\Models\NetworksAgent;
|
||||||
|
use App\Models\TransfertCommissionTransaction;
|
||||||
use App\Models\Wallet;
|
use App\Models\Wallet;
|
||||||
use App\Models\WalletTransaction;
|
use App\Models\WalletTransaction;
|
||||||
use App\Traits\ApiResponser;
|
use App\Traits\ApiResponser;
|
||||||
|
@ -33,9 +34,17 @@ class CommissionController extends Controller
|
||||||
if($wallet->balance_com <=0 )
|
if($wallet->balance_com <=0 )
|
||||||
return $this->errorResponse(trans('messages.empty_com_balance') , Response::HTTP_BAD_REQUEST);
|
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_princ += $wallet->balance_com;
|
||||||
$wallet->balance_com = 0;
|
$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();
|
$wallet->save();
|
||||||
|
$transaction->save();
|
||||||
|
|
||||||
return $this->successResponse($wallet);
|
return $this->successResponse($wallet);
|
||||||
|
|
||||||
|
|
|
@ -1076,13 +1076,19 @@ class iLinkTransactionController extends Controller
|
||||||
$this->validate($request, [
|
$this->validate($request, [
|
||||||
'id_transaction' => 'required',
|
'id_transaction' => 'required',
|
||||||
'id_wallet_agent' => 'required|integer|min:0|not_in:0',
|
'id_wallet_agent' => 'required|integer|min:0|not_in:0',
|
||||||
|
'code_retrait' => 'required',
|
||||||
]);
|
]);
|
||||||
$transaction = WalletIlinkTransaction::select('nom_destinataire', 'prenom_destinataire', 'type_document_destinataire', 'id_document_destinataire', 'type',
|
|
||||||
'id_wallet_user', 'init_country', 'final_country', 'network_destinataire' ,'id_transaction')->where('id_transaction', $request->id_transaction)->first();
|
$transaction = WalletIlinkTransaction::select('nom_destinataire', 'prenom_destinataire', 'type_document_destinataire', 'id_document_destinataire', 'type','encrypted_code_retrait','code_retrait_salt',
|
||||||
|
'id_wallet_user', 'init_country', 'final_country', 'network_destinataire' ,'id_transaction', 'montant_net_final_country')->where('id_transaction', $request->id_transaction)->first();
|
||||||
|
|
||||||
if (!$transaction)
|
if (!$transaction)
|
||||||
return $this->errorResponse(trans('errors.transaction_not_exist'), Response::HTTP_NOT_FOUND);
|
return $this->errorResponse(trans('errors.transaction_not_exist'), Response::HTTP_NOT_FOUND);
|
||||||
|
|
||||||
|
if(!$this->checkPassword($request->code_retrait, $transaction->encrypted_code_retrait, $transaction->code_retrait_salt))
|
||||||
|
return $this->errorResponse(trans('errors.invalid_withdrawal_code'));
|
||||||
|
|
||||||
|
|
||||||
//Verifier que le reseau payeur est de type iLink
|
//Verifier que le reseau payeur est de type iLink
|
||||||
if (in_array($transaction->type, [3, 17])) {
|
if (in_array($transaction->type, [3, 17])) {
|
||||||
$configPayeur = ConfigWallet::where('id_network', $transaction->network_destinataire)->firstOrFail();
|
$configPayeur = ConfigWallet::where('id_network', $transaction->network_destinataire)->firstOrFail();
|
||||||
|
@ -1113,7 +1119,9 @@ class iLinkTransactionController extends Controller
|
||||||
$data->id_document_destinataire = $identification->id_identity_document;
|
$data->id_document_destinataire = $identification->id_identity_document;
|
||||||
// $data->user_code = $transaction->wallet_user->user->user_code;
|
// $data->user_code = $transaction->wallet_user->user->user_code;
|
||||||
}
|
}
|
||||||
unset($data->type, $data->init_country, $data->final_country, $data->id_wallet_user, $data->network_destinataire);
|
$data->montant = $transaction->type == 11 ? $transaction->montant_net : $transaction->montant_net_final_country;
|
||||||
|
unset($data->type, $data->init_country, $data->final_country, $data->id_wallet_user, $data->network_destinataire,$data->code_retrait_salt,
|
||||||
|
$data->encrypted_code_retrait,$data->montant_net_final_country, $data->montant_net);
|
||||||
|
|
||||||
return $this->successResponse($data);
|
return $this->successResponse($data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Reliese Model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class TransfertCommissionTransaction
|
||||||
|
*
|
||||||
|
* @property int $id
|
||||||
|
* @property float $balance_princ_init
|
||||||
|
* @property float $balance_com_init
|
||||||
|
* @property float $balance_princ_final
|
||||||
|
* @property float $balance_com_final
|
||||||
|
* @property Carbon $date
|
||||||
|
* @property int $id_wallet_ag
|
||||||
|
*
|
||||||
|
* @property Wallet $wallet
|
||||||
|
*
|
||||||
|
* @package App\Models
|
||||||
|
*/
|
||||||
|
class TransfertCommissionTransaction extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'transfert_commission_transaction';
|
||||||
|
public $incrementing = false;
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'id' => 'int',
|
||||||
|
'balance_princ_init' => 'float',
|
||||||
|
'balance_com_init' => 'float',
|
||||||
|
'balance_princ_final' => 'float',
|
||||||
|
'balance_com_final' => 'float',
|
||||||
|
'id_wallet_ag' => 'int'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $dates = [
|
||||||
|
'date'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'balance_princ_init',
|
||||||
|
'balance_com_init',
|
||||||
|
'balance_princ_final',
|
||||||
|
'balance_com_final',
|
||||||
|
'date',
|
||||||
|
'id_wallet_ag'
|
||||||
|
];
|
||||||
|
|
||||||
|
public function wallet()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Wallet::class, 'id_wallet_ag');
|
||||||
|
}
|
||||||
|
}
|
|
@ -40,7 +40,7 @@ $router->group(['prefix' => '/transactions'] , function () use ($router){
|
||||||
|
|
||||||
// Credits routes
|
// Credits routes
|
||||||
$router->group(['prefix' => '/credits'] , function () use ($router){
|
$router->group(['prefix' => '/credits'] , function () use ($router){
|
||||||
$router->put('treatDemand/{id_demand}','CreditController@treatDemand');
|
$router->put('treatDemand/{id_demand}','CreditfController@treatDemand');
|
||||||
$router->put('cancelDemand/{id_demand}','CreditController@cancelDemand');
|
$router->put('cancelDemand/{id_demand}','CreditController@cancelDemand');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue