From eae06f91323612ac82c65ef0faea1bde672ee6d7 Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Mon, 24 Aug 2020 21:39:10 +0100 Subject: [PATCH] + Fix bug on groups users demands --- app/Http/Controllers/NanoCreditController.php | 26 ++--- app/Http/Controllers/UserGroupController.php | 6 +- app/Models/InfosUsersGroup.php | 98 +++++++++++++++++++ 3 files changed, 116 insertions(+), 14 deletions(-) create mode 100644 app/Models/InfosUsersGroup.php diff --git a/app/Http/Controllers/NanoCreditController.php b/app/Http/Controllers/NanoCreditController.php index 3d58ddd..92e6654 100755 --- a/app/Http/Controllers/NanoCreditController.php +++ b/app/Http/Controllers/NanoCreditController.php @@ -6,6 +6,7 @@ use App\Models\AgentPlus; use App\Models\CodeGenerer; use App\Models\ConfigWallet; use App\Models\Identification; +use App\Models\InfosUsersGroup; use App\Models\NetworksAgent; use App\Models\UsersDemandesCredit; use App\Models\UsersGroup; @@ -229,7 +230,7 @@ class NanoCreditController extends Controller //Crediter le wallet de client s'il ne retire pas en cash if (!$request->retrait_cash) { - $walletUser = WalletsUser::where('idUser', $request->id_user)->firstOrFail(); + $walletUser = WalletsUser::where('idUser', $demande_credit->id_user)->firstOrFail(); $walletUser->balance += $demande_credit->montant; $walletUser->save(); } @@ -262,6 +263,7 @@ class NanoCreditController extends Controller ]); $user = User::findOrFail($request->id_user); + $group = InfosUsersGroup::findOrFail($user->group_id); if (!$this->checkPassword($request->password, $user->encrypted_password, $user->salt)) return $this->errorResponse(trans('messages.incorrect_user_password')); @@ -285,19 +287,19 @@ class NanoCreditController extends Controller if ($demande_credit->type_caution == 'individuel') { $walletAgent = Wallet::findOrFail($demande_credit->id_wallet_agent); - $network_agent = NetworksAgent::findOrFail($walletAgent->id_networkAgent); - // Recuperation des wallets hyperviseur et superviseur - $codeGenerer = CodeGenerer::findOrFail($network_agent->codeGenerer_id); - $superviseur = AgentPlus::where('code_membre', $codeGenerer->code_parrain)->firstOrFail(); - $hyperviseur = AgentPlus::where('code_membre', $superviseur->code_parrain)->firstOrFail(); - $wallet_agent_hyp = WalletAgent::where('agent_id', $hyperviseur->id)->firstOrFail(); - $walletHyperviseur = Wallet::findOrFail($wallet_agent_hyp->wallet_id); - - $walletAgent->balance_princ += $demande_credit->montant; - $walletHyperviseur->balance_princ -= $demande_credit->montant; + $walletAgent->balance_princ += $montant_total; $walletAgent->save(); - $walletHyperviseur->save(); + } + + if ($demande_credit->type_caution == 'groupe') { + // Recuperation des wallets hyperviseur et superviseur + + $walletHyper = WalletAgent::where('category', 'hyper')->where('network_id', $group->id_network)->firstOrFail(); + $walletHyper = Wallet::findOrFail($walletHyper->wallet_id); + + $walletHyper->balance_princ += $montant_total; + $walletHyper->save(); } $demande_credit->date_remboursement = new \DateTime(); diff --git a/app/Http/Controllers/UserGroupController.php b/app/Http/Controllers/UserGroupController.php index 94319bd..f8e08f0 100755 --- a/app/Http/Controllers/UserGroupController.php +++ b/app/Http/Controllers/UserGroupController.php @@ -402,10 +402,12 @@ ug.date_creation , ug.createur , ug.sponsor1 , ug.sponsor2 , ug.sponsor3, ug.cou public function getAllGroupDemand($id_user) { - $demands = DB::select('SELECT ugd.* , ug.code_groupe , ug.nom , ug.limite_credit , ug.nombre_validation, ug.actif, ug.nombre_utilisateurs, -ug.date_creation , ug.createur , ug.sponsor1 , ug.sponsor2 , ug.sponsor3, ug.country, ug.currency_code FROM users_groups_demandes_validations ugd + $demands = DB::select('SELECT ugd.* , ugd.date_creation as date_creation_demande , ug.code_groupe , ug.nom , ug.limite_credit , ug.nombre_validation, ug.actif, ug.nombre_utilisateurs, +ug.date_creation as date_creation_groupe , ug.createur , ug.sponsor1 , ug.sponsor2 , ug.sponsor3, ug.country, ug.currency_code FROM users_groups_demandes_validations ugd INNER JOIN infos_users_groups ug ON ug.id = ugd.id_group WHERE ugd.id_sponsor = :id;', ['id' => $id_user]); + foreach ($demands as $demand) + unset($demand->date_creation); return $this->successResponse($demands); } diff --git a/app/Models/InfosUsersGroup.php b/app/Models/InfosUsersGroup.php new file mode 100644 index 0000000..74d7fa3 --- /dev/null +++ b/app/Models/InfosUsersGroup.php @@ -0,0 +1,98 @@ + 'int', + 'limite_credit' => 'float', + 'id_sponsor1' => 'int', + 'id_sponsor2' => 'int', + 'id_sponsor3' => 'int', + 'nombre_validation' => 'int', + 'actif' => 'int', + 'nombre_utilisateurs' => 'int', + 'nombre_suppression' => 'int', + 'id_createur' => 'int', + 'deleted' => 'bool', + 'id_network' => 'int' + ]; + + protected $dates = [ + 'date_creation', + 'date_activation' + ]; + + protected $fillable = [ + 'id', + 'code_groupe', + 'nom', + 'limite_credit', + 'id_sponsor1', + 'id_sponsor2', + 'id_sponsor3', + 'nombre_validation', + 'actif', + 'nombre_utilisateurs', + 'nombre_suppression', + 'id_createur', + 'date_creation', + 'date_activation', + 'deleted', + 'createur', + 'sponsor1', + 'sponsor2', + 'sponsor3', + 'country', + 'currency_code', + 'id_network', + 'code_createur', + 'code_sponsor1', + 'code_sponsor2', + 'code_sponsor3' + ]; +}