+ Fix bug on groups users demands

This commit is contained in:
Djery-Tom 2020-08-24 21:39:10 +01:00
parent 5bf3c49034
commit eae06f9132
3 changed files with 116 additions and 14 deletions

View File

@ -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();

View File

@ -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);
}

View File

@ -0,0 +1,98 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class InfosUsersGroup
*
* @property int $id
* @property string $code_groupe
* @property string $nom
* @property float $limite_credit
* @property int $id_sponsor1
* @property int $id_sponsor2
* @property int $id_sponsor3
* @property int $nombre_validation
* @property int $actif
* @property int $nombre_utilisateurs
* @property int $nombre_suppression
* @property int $id_createur
* @property Carbon $date_creation
* @property Carbon $date_activation
* @property bool $deleted
* @property string $createur
* @property string $sponsor1
* @property string $sponsor2
* @property string $sponsor3
* @property string $country
* @property string $currency_code
* @property int $id_network
* @property string $code_createur
* @property string $code_sponsor1
* @property string $code_sponsor2
* @property string $code_sponsor3
*
* @package App\Models
*/
class InfosUsersGroup extends Model
{
protected $table = 'infos_users_groups';
public $incrementing = false;
public $timestamps = false;
protected $casts = [
'id' => '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'
];
}