+ Fix fetchIdentification bug
This commit is contained in:
parent
c6ae0cb47a
commit
f2e8318347
|
@ -82,7 +82,8 @@ class UserController extends Controller
|
|||
public function fetchIdentification($user_phone)
|
||||
{
|
||||
// return Identification::where('id_user', $id_user)->firstOrFail();
|
||||
$user = User::where('phone', $user_phone)->firstOrFail();
|
||||
$user = User::where('phone', $user_phone)->first();
|
||||
if($user){
|
||||
$identification = Identification::where('id_user', $user->id)->first();
|
||||
$data['isIdentified'] = false;
|
||||
$data['isIdentifiedValidated'] = false;
|
||||
|
@ -92,16 +93,25 @@ class UserController extends Controller
|
|||
$data['isIdentifiedValidated'] = $identification->status == 1 ;
|
||||
}
|
||||
return $this->successResponse($data);
|
||||
}else{
|
||||
return $this->errorResponse(trans('errors.user_phone_not_exist'),Response::HTTP_NOT_FOUND);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function verifyIdentification($user_phone)
|
||||
{
|
||||
$user = User::where('phone', $user_phone)->firstOrFail();
|
||||
$user = User::where('phone', $user_phone)->first();
|
||||
if($user){
|
||||
$identification = Identification::where('id_user', $user->id)->first();
|
||||
if($identification){
|
||||
return $this->errorResponse(trans('messages.user_identificated'));
|
||||
}else
|
||||
return $this->successResponse($user);
|
||||
}else{
|
||||
return $this->errorResponse(trans('errors.user_phone_not_exist'),Response::HTTP_NOT_FOUND);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function generateRandomString($length = 10)
|
||||
|
|
|
@ -43,6 +43,7 @@ class iLinkTransactionController extends Controller
|
|||
'type' => 'required|integer|min:0|not_in:0',
|
||||
'id_wallet_agent' => 'integer|min:0|not_in:0',
|
||||
'id_wallet_user' => 'integer|min:0|not_in:0',
|
||||
'password'=>'required'
|
||||
]);
|
||||
$type = TypeIlinkTransaction::findOrFail($request->type);
|
||||
|
||||
|
@ -133,13 +134,15 @@ class iLinkTransactionController extends Controller
|
|||
break;
|
||||
case 14: // Agent - Envoi de cash vers wallet iLink
|
||||
$this->validate($request, $transaction->first_rules());
|
||||
$agent = AgentPlus::findOrFail($network_agent->agent_id);
|
||||
if($this->checkPassword($request->password,$agent->encrypted_password,$agent->salt)){
|
||||
$user = User::where('user_code', $request->user_code)->firstOrFail();
|
||||
if($this->checkPassword($request->password,$user->encrypted_password,$user->salt)){
|
||||
$walletUser = WalletsUser::where('idUser', $user->id)->firstOrFail();
|
||||
|
||||
$frais = ($request->init_country != $request->final_country) ? $this->calculateFees($plr_agent_depot_wallet_ilink, $request->montant) : $this->calculateFees($plr_agent_depot_wallet_ilink_national, $request->montant);
|
||||
$taxe = ($request->init_country != $request->final_country) ? $this->calculateTax($taxesInternationales, $frais) : $this->calculateTax($taxesNationales, $frais);
|
||||
$montantDepot = $request->montant - $frais - $taxe;
|
||||
$transaction->montant_depot = $montantDepot;
|
||||
$walletUser->balance += $montantDepot;
|
||||
$commisionAgent = floatval($frais * $config->taux_com_ag_envoi_cash / 100);
|
||||
$commisionSuper = floatval($frais * $config->taux_com_sup_envoi_cash / 100);
|
||||
|
@ -170,10 +173,45 @@ class iLinkTransactionController extends Controller
|
|||
}
|
||||
break;
|
||||
case 15: // Agent - Envoi de cash vers autre wallet
|
||||
// $this->validate($request, $transaction->first_rules());
|
||||
$agent = AgentPlus::findOrFail($network_agent->agent_id);
|
||||
if($this->checkPassword($request->password,$agent->encrypted_password,$agent->salt)){
|
||||
$frais = ($request->init_country != $request->final_country) ? $this->calculateFees($plr_agent_depot_autre_wallet, $request->montant) : $this->calculateFees($plr_agent_depot_autre_wallet_national, $request->montant);
|
||||
$taxe = ($request->init_country != $request->final_country) ? $this->calculateTax($taxesInternationales, $frais) : $this->calculateTax($taxesNationales, $frais);
|
||||
$montantDepot = $request->montant - $frais - $taxe;
|
||||
$transaction->montant_depot = $montantDepot;
|
||||
//Emettre une trame securise pour crediter le wallet utilisateur
|
||||
// $walletUser->balance += $montantDepot;
|
||||
// $transaction->id_destinataire = r
|
||||
$commisionAgent = floatval($frais * $config->taux_com_ag_envoi_cash / 100);
|
||||
$commisionSuper = floatval($frais * $config->taux_com_sup_envoi_cash / 100);
|
||||
$commisionHyper = floatval($frais * $config->taux_com_hyp_envoi_cash / 100);
|
||||
$walletAgent->balance_princ -= $transaction->montant;
|
||||
$walletAgent->balance_com += $commisionAgent;
|
||||
$transaction->commission_ag = $commisionAgent;
|
||||
$walletSuperviseur->balance_com += $commisionSuper;
|
||||
$transaction->commission_sup = $commisionSuper;
|
||||
$walletHyperviseur->balance_com += $commisionHyper;
|
||||
$transaction->commission_hyp = $commisionHyper;
|
||||
$transaction->taxe = $taxe;
|
||||
$transaction->frais = $frais;
|
||||
$transaction->date = new \DateTime();
|
||||
|
||||
$walletAgent->save();
|
||||
$walletSuperviseur->save();
|
||||
$walletHyperviseur->save();
|
||||
$transaction->id_wallet_ag = $walletAgent->id;
|
||||
$transaction->id_wallet_sup = $walletSuperviseur->id;
|
||||
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
||||
$transaction->save();
|
||||
}else{
|
||||
return $this->errorResponse(trans('messages.incorrect_user_password'));
|
||||
}
|
||||
break;
|
||||
case 16: // Agent - Envoi de cash vers une carte visa
|
||||
$this->validate($request, $transaction->card_rules());
|
||||
$agent = AgentPlus::findOrFail($network_agent->agent_id);
|
||||
if($this->checkPassword($request->password,$agent->encrypted_password,$agent->salt)){
|
||||
$expiration_date = \DateTime::createFromFormat('m/y', $request->expiration_date);
|
||||
if (!$expiration_date)
|
||||
$expiration_date = new \DateTime();
|
||||
|
@ -181,7 +219,7 @@ class iLinkTransactionController extends Controller
|
|||
|
||||
$frais = $request->montant * $config->taux_com_wallet_ag_envoi_cash_carte / 100;
|
||||
$montantDepot = $transaction->montant - $frais;
|
||||
|
||||
$transaction->montant_depot = $montantDepot;
|
||||
$body['amount'] = $montantDepot;
|
||||
$body['card_number'] = $request->numero_carte;
|
||||
$body['cvv'] = $request->cvv;
|
||||
|
@ -225,10 +263,14 @@ class iLinkTransactionController extends Controller
|
|||
} else {
|
||||
return $this->errorResponse(trans('errors.visa_api_failed'), Response::HTTP_INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
}else{
|
||||
return $this->errorResponse(trans('messages.incorrect_user_password'));
|
||||
}
|
||||
break;
|
||||
case 17: // Agent - Envoi de cash vers cash
|
||||
$this->validate($request, $transaction->cash_cash_rules());
|
||||
|
||||
$agent = AgentPlus::findOrFail($network_agent->agent_id);
|
||||
if($this->checkPassword($request->password,$agent->encrypted_password,$agent->salt)){
|
||||
$frais = ($request->init_country != $request->final_country)? $this->calculateFees($plr_agent_cash_cash, $request->montant) : $this->calculateFees($plr_agent_cash_cash_national, $request->montant);
|
||||
$taxe = ($request->init_country != $request->final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
|
||||
$montantRetrait = $request->montant - $frais - $taxe;
|
||||
|
@ -264,6 +306,9 @@ class iLinkTransactionController extends Controller
|
|||
$this->sendMail($request->email_emetteur, trans('messages.successful_transaction'), trans('messages.successful_send_cash',['montant'=> $montantRetrait,
|
||||
'code'=> $code_retrait]));
|
||||
return $this->successResponse(trans('messages.successful_transaction'));
|
||||
}else{
|
||||
return $this->errorResponse(trans('messages.incorrect_user_password'));
|
||||
}
|
||||
break;
|
||||
case 18: // Agent - Envoi de cash vers banque
|
||||
// Indisponible
|
||||
|
|
|
@ -14,6 +14,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
*
|
||||
* @property int $id
|
||||
* @property float $montant
|
||||
* @property float $montant_depot
|
||||
* @property float $montant_retrait
|
||||
* @property string $encrypted_code_retrait
|
||||
* @property string $code_retrait_salt
|
||||
|
@ -29,7 +30,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @property string $prenom_emetteur
|
||||
* @property string $email_emetteur
|
||||
* @property string $type_document_emetteur
|
||||
* @property string $id_type_document_emetteur
|
||||
* @property string $id_document_emetteur
|
||||
* @property float $frais
|
||||
* @property float $taxe
|
||||
* @property string $numero_carte
|
||||
|
@ -63,6 +64,7 @@ class WalletIlinkTransaction extends Model
|
|||
|
||||
protected $casts = [
|
||||
'montant' => 'float',
|
||||
'montant_depot' => 'float',
|
||||
'montant_retrait' => 'float',
|
||||
'status_retrait' => 'int',
|
||||
'network_destinataire' => 'int',
|
||||
|
@ -89,6 +91,7 @@ class WalletIlinkTransaction extends Model
|
|||
|
||||
protected $fillable = [
|
||||
'montant',
|
||||
'montant_depot',
|
||||
'montant_retrait',
|
||||
'encrypted_code_retrait',
|
||||
'code_retrait_salt',
|
||||
|
@ -104,7 +107,7 @@ class WalletIlinkTransaction extends Model
|
|||
'prenom_emetteur',
|
||||
'email_emetteur',
|
||||
'type_document_emetteur',
|
||||
'id_type_document_emetteur',
|
||||
'id_document_emetteur',
|
||||
'frais',
|
||||
'taxe',
|
||||
'numero_carte',
|
||||
|
@ -158,7 +161,6 @@ class WalletIlinkTransaction extends Model
|
|||
'init_country' =>'required|integer|min:0|not_in:0',
|
||||
'final_country' =>'required|integer|min:0|not_in:0',
|
||||
'montant'=> 'required|numeric|min:0|not_in:0',
|
||||
'password'=>'required'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -8,4 +8,5 @@ return [
|
|||
'identification_carried_out' => 'Identification already carried out',
|
||||
'visa_api_failed'=> 'Request to API visa failed',
|
||||
'failed_transaction' => 'Failed transaction',
|
||||
'user_phone_not_exist' => 'This customer number does not exist',
|
||||
];
|
||||
|
|
|
@ -8,4 +8,5 @@ return [
|
|||
'identification_carried_out' => 'Identification déjà éffectuée',
|
||||
'visa_api_failed'=> 'La requete vers l\'api visa a échouée',
|
||||
'failed_transaction' => 'Transaction échouée',
|
||||
'user_phone_not_exist' => 'Ce numéro client n\'existe pas',
|
||||
];
|
||||
|
|
Loading…
Reference in New Issue