diff --git a/app/Http/Controllers/InsuranceSubscriptionController.php b/app/Http/Controllers/InsuranceSubscriptionController.php index 17bc89b..76a65d4 100644 --- a/app/Http/Controllers/InsuranceSubscriptionController.php +++ b/app/Http/Controllers/InsuranceSubscriptionController.php @@ -609,7 +609,7 @@ class InsuranceSubscriptionController extends Controller return $this->errorResponse(trans('messages.incorrect_user_password')); } - if ($user->balance_nano_health < $subscription->total_bonus_amount) { + if ($user->wallet->balance < $subscription->total_bonus_amount) { return $this->errorResponse(trans('errors.insufficient_balance')); } @@ -623,7 +623,9 @@ class InsuranceSubscriptionController extends Controller $walletHyperviseur->balance_princ += $subscription->total_bonus_amount; $walletHyperviseur->save(); - $user->balance_nano_health -= $subscription->total_bonus_amount; + $user->balance_nano_health += $subscription->total_bonus_amount; + $user->wallet->balance -= $subscription->total_bonus_amount; + $user->wallet->save(); $user->save(); $insuredId = $this->generateInsuredID(); diff --git a/app/Models/User.php b/app/Models/User.php index d74609e..5093999 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -116,4 +116,9 @@ class User extends Model implements AuthenticatableContract, AuthorizableContrac { return $this->belongsTo(Network::class, 'network_id'); } + + public function wallet() + { + return $this->hasOne(WalletsUser::class, 'idUser'); + } } diff --git a/app/Models/WalletsUser.php b/app/Models/WalletsUser.php new file mode 100644 index 0000000..c3c36d0 --- /dev/null +++ b/app/Models/WalletsUser.php @@ -0,0 +1,54 @@ + 'float', + 'idUser' => 'int' + ]; + + protected $dates = [ + 'createdAt' + ]; + + protected $fillable = [ + 'balance', + 'createdAt', + 'idUser' + ]; + + public function user() + { + return $this->belongsTo(User::class, 'idUser'); + } + + public function wallet_ilink_transactions() + { + return $this->hasMany(WalletIlinkTransaction::class, 'id_wallet_user'); + } +}