diff --git a/app/Http/Controllers/CreditController.php b/app/Http/Controllers/CreditController.php new file mode 100644 index 0000000..10b63f6 --- /dev/null +++ b/app/Http/Controllers/CreditController.php @@ -0,0 +1,51 @@ +firstOrFail(); + if($demand->status == 1) + return $this->errorResponse('Demande deja traitée',Response::HTTP_BAD_REQUEST); + + $parrain = AgentPlus::where('code_membre',$demand->code_parrain)->firstOrFail(); + + $walletAgentParrain = WalletAgent::where('agent_id',$parrain->id)->firstOrFail(); + + $walletAgent = Wallet::where('id_networkAgent',$demand->network_agent_id)->firstOrFail(); + $walletParrain = Wallet::findOrFail($walletAgentParrain->wallet_id); + + if($walletParrain->balance_princ < $demand->montant) + return $this->errorResponse('Solde principal du parrain inférieur au montant de la demande',Response::HTTP_BAD_REQUEST); + + $walletAgent->balance_princ += $demand->montant; + $walletParrain->balance_princ -= $demand->montant; + + DB::update('UPDATE demandeCredits SET status = 1 WHERE ( id = ? );',[$demand->id]); + $walletAgent->save(); + $walletParrain->save(); + return $this->successResponse($walletAgent); + } +} diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index f5016ba..00c9139 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -146,4 +146,10 @@ class TransactionController extends Controller $transaction->save(); return $this->successResponse($walletAgent); } + + public function lastTransactions($id_wallet){ + $transactions = WalletTransaction::where('id_wallet',$id_wallet)->orderBy('date','desc')->limit(10) + ->get(['id', 'montant' ,'numCarte' ,'commission_ag', 'type' ,'date']); + return $this->successResponse($transactions); + } } diff --git a/app/Models/DemandeCredit.php b/app/Models/DemandeCredit.php new file mode 100644 index 0000000..b614221 --- /dev/null +++ b/app/Models/DemandeCredit.php @@ -0,0 +1,62 @@ + 'int', + 'montant' => 'float', + 'network_agent_id'=>'int', + 'status' => 'int' + ]; + + protected $dates = [ + 'date_creation', + 'date_modification' + ]; + + protected $fillable = [ + 'reseau', + 'id', + 'montant', + 'network_agent_id', + 'date_creation', + 'date_modification', + 'status', + 'phone', + 'code_membre', + 'code_parrain', + 'category', + 'name' + ]; +} diff --git a/routes/web.php b/routes/web.php index 99d6da8..0915302 100644 --- a/routes/web.php +++ b/routes/web.php @@ -15,7 +15,17 @@ // return $router->app->version(); //}); -$router->post('/transactions','TransactionController@add'); +// Transactions routes +$router->group(['prefix' => '/transactions'] , function () use ($router){ + $router->post('','TransactionController@add'); + $router->get('{id_wallet}','TransactionController@lastTransactions'); +}); + +// Credits routes +$router->group(['prefix' => '/credits'] , function () use ($router){ + $router->put('treatDemand/{id_demand}','CreditController@treatDemand'); +}); + $router->post('/virement','CommissionController@virement'); // Wallets routes