diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 4776036..f5016ba 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -47,7 +47,7 @@ class TransactionController extends Controller $walletHyperviseur = Wallet::findOrFail($wallet_agent_hyp->wallet_id); $data = $request->all(); - $data['expiration_date'] = \DateTime::createFromFormat('m/Y',$request->expiration_date); + $data['expiration_date'] = \DateTime::createFromFormat('m/y',$request->expiration_date); $transaction->fill($data); $client = new \GuzzleHttp\Client(); @@ -85,6 +85,12 @@ class TransactionController extends Controller $walletAgent->balance_com += $agentCommission; $walletSuperviseur->balance_com += $superviseurCommission; $walletHyperviseur->balance_com += $hyperviseurCommission; + + $transaction->id_wallet_sup = $walletSuperviseur->id; + $transaction->commission_sup = $superviseurCommission; + $transaction->id_wallet_hyp = $walletHyperviseur->id; + $transaction->commission_hyp = $hyperviseurCommission; + $transaction->commission_ag = $agentCommission; } // }else{ @@ -123,7 +129,11 @@ class TransactionController extends Controller $walletSuperviseur->balance_com += $superviseurCommission; $walletHyperviseur->balance_com += $hyperviseurCommission; - + $transaction->id_wallet_sup = $walletSuperviseur->id; + $transaction->commission_sup = $superviseurCommission; + $transaction->id_wallet_hyp = $walletHyperviseur->id; + $transaction->commission_hyp = $hyperviseurCommission; + $transaction->commission_ag = $agentCommission; } } diff --git a/app/Models/WalletTransaction.php b/app/Models/WalletTransaction.php index ba6f3eb..f0c7f2a 100644 --- a/app/Models/WalletTransaction.php +++ b/app/Models/WalletTransaction.php @@ -16,15 +16,22 @@ use phpDocumentor\Reflection\Types\Integer; * @property int $id * @property float $montant * @property string $numCarte - * @property Carbon expiration_date - * @property string commission_banque + * @property Carbon $expiration_date + * @property float $commission_banque + * @property float $commission_ag + * @property float $commission_sup + * @property float $commission_hyp * @property string $type * @property Carbon $date * @property string $statut * @property string $result * @property int $id_wallet + * @property int $id_wallet_sup + * @property int $id_wallet_hyp * * @property Wallet $wallet + * @property Wallet $wallet_sup + * @property Wallet $wallet_hyp * * @package App\Models */ @@ -33,10 +40,16 @@ class WalletTransaction extends Model protected $table = 'wallet_transaction'; public $timestamps = false; - protected $casts = [ - 'montant' => 'float', - 'id_wallet' => 'int' - ]; + protected $casts = [ + 'montant' => 'float', + 'commission_banque' => 'float', + 'commission_ag' => 'float', + 'commission_sup' => 'float', + 'commission_hyp' => 'float', + 'id_wallet' => 'int', + 'id_wallet_sup' => 'int', + 'id_wallet_hyp' => 'int' + ]; protected $dates = [ 'date', @@ -48,11 +61,16 @@ class WalletTransaction extends Model 'numCarte', 'expiration_date', 'commission_banque', + 'commission_ag', + 'commission_sup', + 'commission_hyp', 'type', 'date', 'statut', 'result', - 'id_wallet' + 'id_wallet', + 'id_wallet_sup', + 'id_wallet_hyp' ]; public function wallet() @@ -60,6 +78,16 @@ class WalletTransaction extends Model return $this->belongsTo(Wallet::class, 'id_wallet'); } + public function wallet_sup() + { + return $this->belongsTo(Wallet::class, 'id_wallet_sup'); + } + + public function wallet_hyp() + { + return $this->belongsTo(Wallet::class, 'id_wallet_hyp'); + } + // public function getTaxeAttribute($value) // { // return ucfirst($value); @@ -76,7 +104,7 @@ class WalletTransaction extends Model 'montant'=> 'required|numeric|min:1', 'numCarte'=>'required|integer', 'cvv'=>'required|integer|min:100|max:9999', - 'expiration_date'=>'required|date_format:m/Y|after_or_equal:today', + 'expiration_date'=>'required|date_format:m/y|after_or_equal:today', 'type' =>'required|in:credit,debit', 'id_wallet' => 'required|integer|min:0' ];