+ Add simulator

This commit is contained in:
Djery-Tom 2020-06-18 10:07:18 +01:00
parent 59570ed16a
commit 987ee7015a
9 changed files with 728 additions and 272 deletions

View File

@ -23,7 +23,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| a PHP script and you can easily do that on your own.
|
*/
$config['base_url'] = 'https://'.$_SERVER['SERVER_NAME'].'/backofficeiLinkTest';
$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/backofficeiLinkTest';
/*
|--------------------------------------------------------------------------

View File

@ -76,9 +76,9 @@ $query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'vps@2017GA',
'database' => 'iLink_preprod',
'username' => 'djery-tom',
'password' => 'root',
'database' => 'iLink_test2',
'wallet_service_url' => 'http://localhost:8081',
'dbdriver' => 'mysqli',
'dbprefix' => '',

View File

@ -1589,6 +1589,8 @@ class Gestion extends CI_Controller
$data['taux_sup_r_cart'] = $taux->taux_com_sup_retrait_carte_cash;
$data['taux_hyp_r_cart'] = $taux->taux_com_hyp_retrait_carte_cash;
$data['taux_bq_r_cart'] = $taux->taux_com_banque_retrait_carte_cash;
$data['taux_hyp_r_cart_ilink'] = $taux->taux_com_hyp_retrait_carte_cash_ilink;
$data['taux_bq_r_cart_ilink'] = $taux->taux_com_banque_retrait_carte_cash_ilink;
}
$data['transactions'] = $this->user_model->getTransactions(null,null,$network_id);
@ -1710,7 +1712,8 @@ class Gestion extends CI_Controller
$this->insertPalier($plr_agent_cash_cash_national,"agent_cash_cash_national", $idConfig);
$this->user_model->updateConfigWalletIlink($rows['taux_u_w_cart'],$rows['taux_u_c_w'],$rows['taux_u_c_c'],$rows['taux_ag_d_c_c'],$rows['taux_ag_cart_c'],$rows['taux_ag_cash_c'],$rows['taux_ag_s_c'],$rows['taux_sup_s_c'],$rows['taux_hyp_s_c'],$rows['taux_ag_r_c'],$rows['taux_sup_r_c'],
$rows['taux_hyp_r_c'],$rows['taux_ag_d_c'],$rows['taux_sup_d_c'],$rows['taux_hyp_d_c'],$rows['taux_bq_d_c'], $rows['taux_ag_r_cart'],$rows['taux_sup_r_cart'],$rows['taux_hyp_r_cart'],$rows['taux_bq_r_cart'],$idConfig);
$rows['taux_hyp_r_c'],$rows['taux_ag_d_c'],$rows['taux_sup_d_c'],$rows['taux_hyp_d_c'],$rows['taux_bq_d_c'], $rows['taux_ag_r_cart'],$rows['taux_sup_r_cart'],$rows['taux_hyp_r_cart'],$rows['taux_bq_r_cart'],
$rows['taux_hyp_r_cart_ilink'],$rows['taux_bq_r_cart_ilink'],$idConfig);
$res = true;
}

View File

@ -368,6 +368,8 @@ class Hyperviseur_dash extends CI_Controller
$data['taux_sup_r_cart'] = $taux->taux_com_sup_retrait_carte_cash;
$data['taux_hyp_r_cart'] = $taux->taux_com_hyp_retrait_carte_cash;
$data['taux_bq_r_cart'] = $taux->taux_com_banque_retrait_carte_cash;
$data['taux_hyp_r_cart_ilink'] = $taux->taux_com_hyp_retrait_carte_cash_ilink;
$data['taux_bq_r_cart_ilink'] = $taux->taux_com_banque_retrait_carte_cash_ilink;
}
//Create wallet if it not exist
@ -650,19 +652,217 @@ class Hyperviseur_dash extends CI_Controller
$data['country'] = $this->session->userdata('current_pays');
$data['network_id'] = $this->session->userdata('network_id');
$data['countries'] = $this->user_model->getWalletsCountries();
$data['plr_user_wallet_wallet'] = $this->user_model->getPalierConfigWallet("user_wallet_wallet_international", $data['idConfig']);
$data['plr_user_wallet_cash'] = $this->user_model->getPalierConfigWallet("user_wallet_cash_international", $data['idConfig']);
$data['plr_agent_depot_wallet_ilink'] = $this->user_model->getPalierConfigWallet("agent_depot_wallet_ilink_international" , $data['idConfig']);
$data['plr_agent_depot_autre_wallet'] = $this->user_model->getPalierConfigWallet("agent_depot_autre_wallet_international" , $data['idConfig']);
$data['plr_agent_cash_cash'] = $this->user_model->getPalierConfigWallet("agent_cash_cash_international", $data['idConfig']);
$showResult = false;
$frais = 0;
$taxe = 0;
$config = $data['hasWallet']->first_row();
$data['plr_user_wallet_wallet_national'] = $this->user_model->getPalierConfigWallet("user_wallet_wallet_national", $data['idConfig']);
$data['plr_user_wallet_cash_national'] = $this->user_model->getPalierConfigWallet("user_wallet_cash_national", $data['idConfig']);
$data['plr_agent_depot_wallet_ilink_national'] = $this->user_model->getPalierConfigWallet("agent_depot_wallet_ilink_national" , $data['idConfig']);
$data['plr_agent_depot_autre_wallet_national'] = $this->user_model->getPalierConfigWallet("agent_depot_autre_wallet_national" , $data['idConfig']);
$data['plr_agent_cash_cash_national'] = $this->user_model->getPalierConfigWallet("agent_cash_cash_national", $data['idConfig']);
//Simulateur
$com_ag = $this->session->userdata('com_ag') ? $this->session->userdata('com_ag') : 0 ;
$com_sup = $this->session->userdata('com_sup') ? $this->session->userdata('com_sup') : 0 ;
$com_hyp = $this->session->userdata('com_hyp') ? $this->session->userdata('com_hyp') : 0 ;
$com_bq = $this->session->userdata('com_bq') ? $this->session->userdata('com_bq') : 0 ;
// $frais_retrait = $this->session->userdata('frais_retrait') ? $this->session->userdata('frais_retrait') : 0 ;
if (isset($_POST)) {
$operation = $this->input->post('operation');
$montant = $this->input->post('montant');
$init_country = $this->input->post('init_country');
$final_country = $this->input->post('final_country');
$save = $this->input->post('save');
$code = $this->input->post('code');
$taxes = $this->user_model->getTaxes($data['idConfig']);
$plr_user_wallet_wallet = $this->user_model->getPalierConfigWallet("user_wallet_wallet_international", $data['idConfig']);
$plr_user_wallet_cash = $this->user_model->getPalierConfigWallet("user_wallet_cash_international", $data['idConfig']);
$plr_agent_depot_wallet_ilink = $this->user_model->getPalierConfigWallet("agent_depot_wallet_ilink_international" , $data['idConfig']);
$plr_agent_depot_autre_wallet = $this->user_model->getPalierConfigWallet("agent_depot_autre_wallet_international" , $data['idConfig']);
$plr_agent_cash_cash = $this->user_model->getPalierConfigWallet("agent_cash_cash_international", $data['idConfig']);
$plr_user_wallet_wallet_national= $this->user_model->getPalierConfigWallet("user_wallet_wallet_national", $data['idConfig']);
$plr_user_wallet_cash_national = $this->user_model->getPalierConfigWallet("user_wallet_cash_national", $data['idConfig']);
$plr_agent_depot_wallet_ilink_national = $this->user_model->getPalierConfigWallet("agent_depot_wallet_ilink_national" , $data['idConfig']);
$plr_agent_depot_autre_wallet_national = $this->user_model->getPalierConfigWallet("agent_depot_autre_wallet_national" , $data['idConfig']);
$plr_agent_cash_cash_national = $this->user_model->getPalierConfigWallet("agent_cash_cash_national", $data['idConfig']);
$plr_user_wallet_wallet = $plr_user_wallet_wallet ? $plr_user_wallet_wallet->result() : [];
$plr_user_wallet_cash = $plr_user_wallet_cash ? $plr_user_wallet_cash->result() : [];
$plr_agent_depot_wallet_ilink = $plr_agent_depot_wallet_ilink ? $plr_agent_depot_wallet_ilink->result() : [];
$plr_agent_depot_autre_wallet = $plr_agent_depot_autre_wallet ? $plr_agent_depot_autre_wallet->result() : [];
$plr_agent_cash_cash = $plr_agent_cash_cash ? $plr_agent_cash_cash->result() : [];
$plr_user_wallet_wallet_national = $plr_user_wallet_wallet_national ? $plr_user_wallet_wallet_national->result() : [];
$plr_user_wallet_cash_national = $plr_user_wallet_cash_national ? $plr_user_wallet_cash_national->result() : [];
$plr_agent_depot_wallet_ilink_national = $plr_agent_depot_wallet_ilink_national ? $plr_agent_depot_wallet_ilink_national->result() : [];
$plr_agent_depot_autre_wallet_national = $plr_agent_depot_autre_wallet_national ? $plr_agent_depot_autre_wallet_national->result() : [];
$plr_agent_cash_cash_national = $plr_agent_cash_cash_national ? $plr_agent_cash_cash_national->result() : [];
$taxes = $taxes ? $taxes->result() : [];
$taxesNationales = array_filter($taxes, function ($tax) {
return $tax->destination == 'national';
});
$taxesInternationales = array_filter($taxes, function ($tax) {
return $tax->destination == 'international';
});
if (isset($save)) {
$showResult = true;
switch ($operation) {
case 1: //Envoi wallet à wallet
$frais = ($init_country != $final_country) ? $this->calculateFees1($plr_user_wallet_wallet, $montant) : $this->calculateFees1($plr_user_wallet_wallet_national, $montant);
$taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_hyp += $frais ;
$this->session->set_userdata('com_hyp',$com_hyp);
break;
case 2: //Envoi de wallet à carte
$frais = $montant * $config->taux_com_user_wallet_carte / 100;
// $taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_hyp += $frais ;
$this->session->set_userdata('com_hyp',$com_hyp);
break;
case 3: //Envoi de wallet à cash
$frais = ($init_country != $final_country) ? $this->calculateFees1($plr_user_wallet_cash, $montant) : $this->calculateFees1($plr_user_wallet_cash_national, $montant);
$taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_hyp += $frais ;
$this->session->set_userdata('com_hyp',$com_hyp);
// $this->session->set_userdata('frais_retrait',$frais);
$code = $this->random_string();
$data['message_code'] = ''.$code;
$this->user_model->insertSimulateur($frais,$montant-$frais-$taxe,$code);
break;
case 4: //Envoi de wallet à banque
// Non disponible
//Pas de taxes
break;
// case 5: //Envoi de carte à wallet
// $frais =$montant * $config->taux_com_user_carte_wallet / 100;
//// $taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
// break;
// case 6: //Envoi de carte à cash
// $frais =$montant * $config->taux_com_user_carte_cash / 100;
//// $taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
// break;
case 9: // Retrait de wallet en cash
$frais = ($init_country != $final_country) ? $this->calculateFees1($plr_user_wallet_cash, $montant) : $this->calculateFees1($plr_user_wallet_cash_national, $montant);
$taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_hyp += $frais ;
$this->session->set_userdata('com_hyp',$com_hyp);
$code = $this->random_string();
$data['message_code'] = ''.$code;
$this->user_model->insertSimulateur($frais,$montant-$frais-$taxe,$code);
break;
case 10: //Retrait de carte vers wallet
$frais = $montant * $config->taux_com_user_carte_wallet / 100;
$com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash_ilink / 100 ;
$com_bq += $frais * $config->taux_com_banque_retrait_carte_cash_ilink / 100 ;
$this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
break;
case 11: // Retrait de carte vers cash
$frais = $montant * $config->taux_com_user_carte_cash / 100;
$com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash_ilink / 100 ;
$com_bq += $frais * $config->taux_com_banque_retrait_carte_cash_ilink / 100 ;
$this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
$code = $this->random_string();
$data['message_code'] = ''.$code;
$this->user_model->insertSimulateur($frais * $config->taux_com_hyp_retrait_carte_cash / 100,$montant-$frais-$taxe,$code);
break;
case 12: // Agent - Retrait en cash
// empty
//Sauvegarder les frais lors de chaque operation d'envoi
if(isset($code)){
$simulateur = $this->user_model->getSimulateur($code);
if($simulateur){
$part_ag = $simulateur->first_row()->com_hyp * $config->taux_com_ag_retrait_cash/ 100 ;
$part_sup = $simulateur->first_row()->com_hyp * $config->taux_com_sup_retrait_cash/ 100;
$com_ag += $part_ag;
$com_sup += $part_sup ;
$com_hyp -= ($part_ag + $part_sup);
$this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
$this->session->set_userdata('com_hyp',$com_hyp);
}else{
$data['error_simulateur'] = 'Code de retrait incorrect';
}
}
break;
case 13: // Agent - Retrait de la carte vers cash
$frais = $montant * $config->taux_com_wallet_ag_carte_cash / 100;
$com_ag += $frais * $config->taux_com_ag_retrait_carte_cash/ 100 ;
$com_sup += $frais * $config->taux_com_sup_retrait_carte_cash / 100 ;
$com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ;
$com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ;
$this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
$this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
break;
case 14: // Agent - Envoi de cash vers wallet iLink
$frais = ($init_country != $final_country) ? $this->calculateFees1($plr_agent_depot_wallet_ilink, $montant) : $this->calculateFees1($plr_agent_depot_wallet_ilink_national, $montant);
$taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ;
$com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ;
$com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ;
$this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
$this->session->set_userdata('com_hyp',$com_hyp);
break;
case 15: // Agent - Envoi de cash vers autre wallet
$frais = ($init_country != $final_country) ? $this->calculateFees1($plr_agent_depot_autre_wallet, $montant) : $this->calculateFees1($plr_agent_depot_autre_wallet_national, $montant);
$taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ;
$com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ;
$com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ;
$this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
$this->session->set_userdata('com_hyp',$com_hyp);
break;
case 16: // Agent - Envoi de cash vers une carte visa
$frais = $montant * $config->taux_com_wallet_ag_envoi_cash_carte / 100;
$com_ag += $frais * $config->taux_com_ag_depot_cash_carte/ 100 ;
$com_sup += $frais * $config->taux_com_sup_depot_cash_carte / 100 ;
$com_hyp += $frais * $config->taux_com_hyp_depot_cash_carte / 100 ;
$com_bq += $frais * $config->taux_com_banque_depot_cash_carte / 100 ;
$this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
$this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
break;
case 17: // Agent - Envoi de cash vers cash
$frais = ($init_country != $final_country) ? $this->calculateFees1($plr_agent_cash_cash, $montant) : $this->calculateFees1($plr_agent_cash_cash_national, $montant);
$taxe = ($init_country != $final_country) ? $this->calculateTax($taxesInternationales , $frais) : $this->calculateTax($taxesNationales ,$frais);
$com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ;
$com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ;
$com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ;
$this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
$this->session->set_userdata('com_hyp',$com_hyp);
$code = $this->random_string();
$data['message_code'] = ''.$code;
$this->user_model->insertSimulateur($frais,$montant-$frais-$taxe,$code);
break;
case 18: // Agent - Envoi de cash vers banque
// Indisponible
break;
}
}
}
$data['showResult'] = $showResult;
$data['frais'] = $frais;
$data['taxe'] = $taxe;
$data['operation'] = $operation;
$data['init_country'] = $init_country;
$data['final_country'] = $final_country;
$data['com_ag'] = $com_ag;
$data['com_sup'] = $com_sup;
$data['com_hyp'] = $com_hyp;
$data['com_bq'] = $com_bq;
$data['taxes'] = $this->user_model->getTaxes($data['idConfig']);
$operations = [
new Operation(1, $this->lang->line('op1')),
new Operation(2, $this->lang->line('op2')),
@ -693,6 +893,71 @@ class Hyperviseur_dash extends CI_Controller
$this->load->view('footer');
}
}
//Calcul des frais internationaux
function calculateFees1(array $paliers, $montant)
{
$size = sizeof($paliers);
$min = $paliers[0]->min;
$max = $size > 0 ? $paliers[$size - 1]->max : 0;
$palier = null;
foreach ($paliers as $p) {
if ($montant >= $p->min && $montant <= $p->max) {
$palier = $p;
break;
}
}
if ($palier) {
return (($palier->min + $palier->max) / 2 * $palier->taux / 100);
} else {
if ($montant < $min)
return $min * $paliers[0]->taux / 100;
else if ($montant > $max)
return $max * $paliers[$size - 1]->taux / 100;
}
}
//Calcul des frais nationaux
function calculateFees2($min, $max, $taux, $montant)
{
if ($montant < $min)
return $min * $taux / 100;
else if ($montant > $max)
return $max * $taux / 100;
else
return $montant * $taux / 100;
}
//Calcul des taxes
function calculateTax(array $taxes, $frais)
{
$sommeTaux = 0;
$sommeFixe = 0;
foreach ($taxes as $tax) {
if ($tax->type == '%')
$sommeTaux += $tax->valeur;
if ($tax->type == 'fixe')
$sommeFixe += $tax->valeur;
}
return ($frais * $sommeTaux / 100) + $sommeFixe;
}
public function random_string()
{
$character_set_array = array();
$character_set_array[] = array('count' => 7, 'characters' => 'abcdefghjkmnpqrstuvwxyz');
$character_set_array[] = array('count' => 1, 'characters' => '23456789');
$temp_array = array();
foreach ($character_set_array as $character_set) {
for ($i = 0; $i < $character_set['count']; $i++) {
$temp_array[] = $character_set['characters'][rand(0, strlen($character_set['characters']) - 1)];
}
}
shuffle($temp_array);
return implode('', $temp_array);
}
}
class Operation

View File

@ -348,6 +348,8 @@
$lang['rate_com_bq_remove_cart'] = 'Taux de commission de la banque sur operation de retrait dans carte ';
$lang['rate_com_agent_cart_cash'] = 'Taux de commission de l\'agent géolocalisé sur retrait carte à cash ';
$lang['rate_com_agent_cash_cart'] = 'Taux de commission de l\'agent géolocalisé sur depot cash vers carte ';
$lang['rate_com_hyp_remove_cart_ilink'] = 'Taux de commission hyperviseur sur operation de retrait dans carte pour utilisateur ';
$lang['rate_com_bq_remove_cart_ilink'] = 'Taux de commission hyperviseur sur operation de retrait dans carte ';
// Gestion de la monnaie
$lang['currency'] = 'Monnaie';
@ -392,5 +394,10 @@ $lang['op15'] = 'Agent - Envoi de cash vers autre wallet';
$lang['op16'] = 'Agent - Envoi de cash vers une carte visa';
$lang['op17'] = 'Agent - Envoi de cash vers cash';
$lang['op18'] = 'Agent - Envoi de cash vers banque';
$lang['new_tax'] = 'Nouvelle taxe'
$lang['new_tax'] = 'Nouvelle taxe';
$lang['ilink_first_rule'] = 'La somme des répartitions de commission sur opération d\'envoi d\'argent doit etre égale à 100 %';
$lang['ilink_second_rule'] = 'La somme des répartitions de commission sur opération de retrait d\'argent doit etre égale à 100 %';
$lang['ilink_third_rule'] = 'La somme des répartitions de commission sur opération de depot cash vers carte doit etre égale à 100 %';
$lang['ilink_fourth_rule'] = 'La somme des répartitions de commission sur opération de retrait dans la carte doit etre égale à 100 %';
$lang['ilink_fifth_rule'] = 'La somme des répartitions de commission sur opération de retrait dans la carte pour utilisateur iLink doit etre égale à 100 %';
?>

View File

@ -2291,11 +2291,11 @@ class User_model extends CI_Model
}
public function updateConfigWalletIlink($taux_u_w_cart,$taux_u_c_w,$taux_u_c_c,$taux_ag_d_c_c,$taux_ag_cart_c,$taux_ag_cash_c,$taux_ag_s_c,$taux_sup_s_c,$taux_hyp_s_c,$taux_ag_r_c,$taux_sup_r_c,$taux_hyp_r_c,
$taux_ag_d_c,$taux_sup_d_c,$taux_hyp_d_c,$taux_bq_d_c ,$taux_ag_r_cart,$taux_sup_r_cart,$taux_hyp_r_cart,$taux_bq_r_cart ,$idConfig){
$taux_ag_d_c,$taux_sup_d_c,$taux_hyp_d_c,$taux_bq_d_c ,$taux_ag_r_cart,$taux_sup_r_cart,$taux_hyp_r_cart,$taux_bq_r_cart ,$taux_hyp_r_cart_ilink,$taux_bq_r_cart_ilink ,$idConfig){
$sql = "UPDATE `configWallet` SET `taux_com_user_wallet_carte` = ?, `taux_com_user_carte_wallet` = ?, `taux_com_user_carte_cash` = ?, `taux_com_wallet_ag_envoi_cash_carte` = ?,`taux_com_wallet_ag_carte_cash` = ?, `taux_com_wallet_ag_depot_carte` = ?, `taux_com_ag_envoi_cash` = ?, `taux_com_sup_envoi_cash` = ?, `taux_com_hyp_envoi_cash` = ?, `taux_com_ag_retrait_cash` = ?, `taux_com_sup_retrait_cash` = ?, `taux_com_hyp_retrait_cash` = ?,
`taux_com_ag_depot_cash_carte` = ?, `taux_com_sup_depot_cash_carte` = ?, `taux_com_hyp_depot_cash_carte` = ?, `taux_com_banque_depot_cash_carte` = ?, `taux_com_ag_retrait_carte_cash` = ?, `taux_com_sup_retrait_carte_cash` = ?, `taux_com_hyp_retrait_carte_cash` = ?, `taux_com_banque_retrait_carte_cash` = ? WHERE (`id` = ?);";
`taux_com_ag_depot_cash_carte` = ?, `taux_com_sup_depot_cash_carte` = ?, `taux_com_hyp_depot_cash_carte` = ?, `taux_com_banque_depot_cash_carte` = ?, `taux_com_ag_retrait_carte_cash` = ?, `taux_com_sup_retrait_carte_cash` = ?, `taux_com_hyp_retrait_carte_cash` = ?, `taux_com_banque_retrait_carte_cash` = ?, `taux_com_hyp_retrait_carte_cash_ilink` = ?, `taux_com_banque_retrait_carte_cash_ilink` = ? WHERE (`id` = ?);";
$query = $this->db->query($sql , array($taux_u_w_cart,$taux_u_c_w,$taux_u_c_c, $taux_ag_d_c_c,$taux_ag_cart_c,$taux_ag_cash_c,$taux_ag_s_c,$taux_sup_s_c,$taux_hyp_s_c,$taux_ag_r_c,$taux_sup_r_c,$taux_hyp_r_c,
$taux_ag_d_c,$taux_sup_d_c,$taux_hyp_d_c,$taux_bq_d_c , $taux_ag_r_cart,$taux_sup_r_cart,$taux_hyp_r_cart, $taux_bq_r_cart , $idConfig));
$taux_ag_d_c,$taux_sup_d_c,$taux_hyp_d_c,$taux_bq_d_c , $taux_ag_r_cart,$taux_sup_r_cart,$taux_hyp_r_cart, $taux_bq_r_cart , $taux_hyp_r_cart_ilink,$taux_bq_r_cart_ilink,$idConfig));
return $query;
}
@ -2395,4 +2395,19 @@ class User_model extends CI_Model
}
}
public function insertSimulateur($frais , $montant ,$code){
$sql = "INSERT INTO `simulateur` (`com_hyp` , `montant_retrait`, `code`) VALUES ( ?, ?, ?);";
$query = $this->db->query($sql , array($frais,$montant,$code));
return $query;
}
public function getSimulateur($code){
$sql = "SELECT * FROM `simulateur` WHERE `code` = ?;";
$query = $this->db->query($sql , array($code));
if($query->num_rows()>0){
return $query;
}else{
return false;
}
}
}

View File

@ -14,145 +14,207 @@ use Brick\Money\Money;
extract($_POST);
$showResult = false;
$frais = 0;
$taxe = 0;
$config = $hasWallet->first_row();
//$showResult = false;
//$frais = 0;
//$taxe = 0;
//$config = $hasWallet->first_row();
$plr_user_wallet_wallet = $plr_user_wallet_wallet ? $plr_user_wallet_wallet->result() : [];
$plr_user_wallet_cash = $plr_user_wallet_cash ? $plr_user_wallet_cash->result() : [];
$plr_agent_depot_wallet_ilink = $plr_agent_depot_wallet_ilink ? $plr_agent_depot_wallet_ilink->result() : [];
$plr_agent_depot_autre_wallet = $plr_agent_depot_autre_wallet ? $plr_agent_depot_autre_wallet->result() : [];
$plr_agent_cash_cash = $plr_agent_cash_cash ? $plr_agent_cash_cash->result() : [];
////Simulateur
//$com_ag = $this->session->userdata('com_ag') ? $this->session->userdata('com_ag') : 0 ;
//$com_sup = $this->session->userdata('com_sup') ? $this->session->userdata('com_sup') : 0 ;
//$com_hyp = $this->session->userdata('com_hyp') ? $this->session->userdata('com_hyp') : 0 ;
//$com_bq = $this->session->userdata('com_bq') ? $this->session->userdata('com_bq') : 0 ;
//$frais_retrait = $this->session->userdata('frais_retrait') ? $this->session->userdata('frais_retrait') : 0 ;
$plr_user_wallet_wallet_national = $plr_user_wallet_wallet_national ? $plr_user_wallet_wallet_national->result() : [];
$plr_user_wallet_cash_national = $plr_user_wallet_cash_national ? $plr_user_wallet_cash_national->result() : [];
$plr_agent_depot_wallet_ilink_national = $plr_agent_depot_wallet_ilink_national ? $plr_agent_depot_wallet_ilink_national->result() : [];
$plr_agent_depot_autre_wallet_national = $plr_agent_depot_autre_wallet_national ? $plr_agent_depot_autre_wallet_national->result() : [];
$plr_agent_cash_cash_national = $plr_agent_cash_cash_national ? $plr_agent_cash_cash_national->result() : [];
$taxes = $taxes ? $taxes->result() : [];
$taxesNationales = array_filter($taxes, function ($tax) {
return $tax->destination == 'national';
});
$taxesInternationales = array_filter($taxes, function ($tax) {
return $tax->destination == 'international';
});
if (isset($save)) {
$showResult = true;
switch ($operation) {
case 1: //Envoi wallet à wallet
$frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_wallet, $montant) : calculateFees1($plr_user_wallet_wallet_national, $montant);
$taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 2: //Envoi de wallet à carte
$frais = $montant * $config->taux_com_user_wallet_carte / 100;
//$plr_user_wallet_wallet = $plr_user_wallet_wallet ? $plr_user_wallet_wallet->result() : [];
//$plr_user_wallet_cash = $plr_user_wallet_cash ? $plr_user_wallet_cash->result() : [];
//$plr_agent_depot_wallet_ilink = $plr_agent_depot_wallet_ilink ? $plr_agent_depot_wallet_ilink->result() : [];
//$plr_agent_depot_autre_wallet = $plr_agent_depot_autre_wallet ? $plr_agent_depot_autre_wallet->result() : [];
//$plr_agent_cash_cash = $plr_agent_cash_cash ? $plr_agent_cash_cash->result() : [];
//
//$plr_user_wallet_wallet_national = $plr_user_wallet_wallet_national ? $plr_user_wallet_wallet_national->result() : [];
//$plr_user_wallet_cash_national = $plr_user_wallet_cash_national ? $plr_user_wallet_cash_national->result() : [];
//$plr_agent_depot_wallet_ilink_national = $plr_agent_depot_wallet_ilink_national ? $plr_agent_depot_wallet_ilink_national->result() : [];
//$plr_agent_depot_autre_wallet_national = $plr_agent_depot_autre_wallet_national ? $plr_agent_depot_autre_wallet_national->result() : [];
//$plr_agent_cash_cash_national = $plr_agent_cash_cash_national ? $plr_agent_cash_cash_national->result() : [];
//
//$taxes = $taxes ? $taxes->result() : [];
//$taxesNationales = array_filter($taxes, function ($tax) {
// return $tax->destination == 'national';
//});
//
//$taxesInternationales = array_filter($taxes, function ($tax) {
// return $tax->destination == 'international';
//});
//
//if (isset($save)) {
// $showResult = true;
// switch ($operation) {
// case 1: //Envoi wallet à wallet
// $frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_wallet, $montant) : calculateFees1($plr_user_wallet_wallet_national, $montant);
// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 3: //Envoi de wallet à cash
$frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_cash, $montant) : calculateFees1($plr_user_wallet_cash_national, $montant);
$taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 4: //Envoi de wallet à banque
// Non disponible
//Pas de taxes
break;
// case 5: //Envoi de carte à wallet
// $frais =$montant * $config->taux_com_user_carte_wallet / 100;
//// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
//
// $com_hyp += $frais ;
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
// case 6: //Envoi de carte à cash
// $frais =$montant * $config->taux_com_user_carte_cash / 100;
// case 2: //Envoi de wallet à carte
// $frais = $montant * $config->taux_com_user_wallet_carte / 100;
//// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
//
// $com_hyp += $frais ;
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
case 9: // Retrait de wallet en cash
$frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_cash, $montant) : calculateFees1($plr_user_wallet_cash_national, $montant);
$taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 10: //Retrait de carte vers wallet
$frais = $montant * $config->taux_com_user_carte_wallet / 100;
break;
case 11: // Retrait de wallet en cash
$frais = $montant * $config->taux_com_user_carte_cash / 100;
break;
case 12: // Agent - Retrait en cash
// empty
break;
case 13: // Agent - Retrait de la carte vers cash
$frais = $montant * $config->taux_com_wallet_ag_carte_cash / 100;
break;
case 14: // Agent - Envoi de cash vers wallet iLink
$frais = ($init_country != $final_country) ? calculateFees1($plr_agent_depot_wallet_ilink, $montant) : calculateFees1($plr_agent_depot_wallet_ilink_national, $montant);
$taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 15: // Agent - Envoi de cash vers autre wallet
$frais = ($init_country != $final_country) ? calculateFees1($plr_agent_depot_autre_wallet, $montant) : calculateFees1($plr_agent_depot_autre_wallet_national, $montant);
$taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 16: // Agent - Envoi de cash vers une carte visa
$frais = $montant * $config->taux_com_wallet_ag_envoi_cash_carte / 100;
break;
case 17: // Agent - Envoi de cash vers cash
$frais = ($init_country != $final_country) ? calculateFees1($plr_agent_cash_cash, $montant) : calculateFees1($plr_agent_cash_cash_national, $montant);
$taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
break;
case 18: // Agent - Envoi de cash vers banque
// Indisponible
break;
}
}
// case 3: //Envoi de wallet à cash
// $frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_cash, $montant) : calculateFees1($plr_user_wallet_cash_national, $montant);
// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
//
// $com_hyp += $frais ;
// $this->session->set_userdata('com_hyp',$com_hyp);
// $this->session->set_userdata('frais_retrait',$frais);
// break;
// case 4: //Envoi de wallet à banque
// // Non disponible
// //Pas de taxes
// break;
//// case 5: //Envoi de carte à wallet
//// $frais =$montant * $config->taux_com_user_carte_wallet / 100;
////// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
//// break;
//// case 6: //Envoi de carte à cash
//// $frais =$montant * $config->taux_com_user_carte_cash / 100;
////// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
//// break;
// case 9: // Retrait de wallet en cash
// $frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_cash, $montant) : calculateFees1($plr_user_wallet_cash_national, $montant);
// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
//
// $com_hyp += $frais ;
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
// case 10: //Retrait de carte vers wallet
// $frais = $montant * $config->taux_com_user_carte_wallet / 100;
//
// $com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ;
// $com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ;
// $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
// break;
// case 11: // Retrait de carte vers cash
// $frais = $montant * $config->taux_com_user_carte_cash / 100;
//
// $com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ;
// $com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ;
// $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
// break;
// case 12: // Agent - Retrait en cash
//// empty
////Sauvegarder les frais lors de chaque operation d'envoi
// $com_ag += $frais_retrait * $config->taux_com_ag_retrait_cash/ 100 ;
// $com_sup += $frais_retrait * $config->taux_com_sup_retrait_cash/ 100 ;
// $com_hyp -= ($com_ag + $com_sup);
// $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
// case 13: // Agent - Retrait de la carte vers cash
// $frais = $montant * $config->taux_com_wallet_ag_carte_cash / 100;
//
// $com_ag += $frais * $config->taux_com_ag_retrait_carte_cash/ 100 ;
// $com_sup += $frais * $config->taux_com_sup_retrait_carte_cash / 100 ;
// $com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ;
// $com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ;
// $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
// $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
// break;
// case 14: // Agent - Envoi de cash vers wallet iLink
// $frais = ($init_country != $final_country) ? calculateFees1($plr_agent_depot_wallet_ilink, $montant) : calculateFees1($plr_agent_depot_wallet_ilink_national, $montant);
// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
// $com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ;
// $com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ;
// $com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ;
// $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
// case 15: // Agent - Envoi de cash vers autre wallet
// $frais = ($init_country != $final_country) ? calculateFees1($plr_agent_depot_autre_wallet, $montant) : calculateFees1($plr_agent_depot_autre_wallet_national, $montant);
// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
// $com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ;
// $com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ;
// $com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ;
// $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
// case 16: // Agent - Envoi de cash vers une carte visa
// $frais = $montant * $config->taux_com_wallet_ag_envoi_cash_carte / 100;
// $com_ag += $frais * $config->taux_com_ag_depot_cash_carte/ 100 ;
// $com_sup += $frais * $config->taux_com_sup_depot_cash_carte / 100 ;
// $com_hyp += $frais * $config->taux_com_hyp_depot_cash_carte / 100 ;
// $com_bq += $frais * $config->taux_com_banque_depot_cash_carte / 100 ;
// $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
// $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq);
// break;
// case 17: // Agent - Envoi de cash vers cash
// $frais = ($init_country != $final_country) ? calculateFees1($plr_agent_cash_cash, $montant) : calculateFees1($plr_agent_cash_cash_national, $montant);
// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais);
// $com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ;
// $com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ;
// $com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ;
// $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup);
// $this->session->set_userdata('com_hyp',$com_hyp);
// break;
// case 18: // Agent - Envoi de cash vers banque
// // Indisponible
// break;
// }
//}
//Calcul des frais internationaux
function calculateFees1(array $paliers, $montant)
{
$size = sizeof($paliers);
$min = $paliers[0]->min;
$max = $size > 0 ? $paliers[$size - 1]->max : 0;
$palier = null;
foreach ($paliers as $p) {
if ($montant >= $p->min && $montant <= $p->max) {
$palier = $p;
break;
}
}
if ($palier) {
return (($palier->min + $palier->max) / 2 * $palier->taux / 100);
} else {
if ($montant < $min)
return $min * $paliers[0]->taux / 100;
else if ($montant > $max)
return $max * $paliers[$size - 1]->taux / 100;
}
}
//Calcul des frais nationaux
function calculateFees2($min, $max, $taux, $montant)
{
if ($montant < $min)
return $min * $taux / 100;
else if ($montant > $max)
return $max * $taux / 100;
else
return $montant * $taux / 100;
}
//Calcul des taxes
function calculateTax(array $taxes, $frais)
{
$sommeTaux = 0;
$sommeFixe = 0;
foreach ($taxes as $tax) {
if ($tax->type == '%')
$sommeTaux += $tax->valeur;
if ($tax->type == 'fixe')
$sommeFixe += $tax->valeur;
}
return ($frais * $sommeTaux / 100) + $sommeFixe;
}
////Calcul des frais internationaux
//function calculateFees1(array $paliers, $montant)
//{
// $size = sizeof($paliers);
// $min = $paliers[0]->min;
// $max = $size > 0 ? $paliers[$size - 1]->max : 0;
// $palier = null;
// foreach ($paliers as $p) {
// if ($montant >= $p->min && $montant <= $p->max) {
// $palier = $p;
// break;
// }
// }
//
// if ($palier) {
// return (($palier->min + $palier->max) / 2 * $palier->taux / 100);
// } else {
// if ($montant < $min)
// return $min * $paliers[0]->taux / 100;
// else if ($montant > $max)
// return $max * $paliers[$size - 1]->taux / 100;
// }
//}
//
////Calcul des frais nationaux
//function calculateFees2($min, $max, $taux, $montant)
//{
// if ($montant < $min)
// return $min * $taux / 100;
// else if ($montant > $max)
// return $max * $taux / 100;
// else
// return $montant * $taux / 100;
//}
//
////Calcul des taxes
//function calculateTax(array $taxes, $frais)
//{
// $sommeTaux = 0;
// $sommeFixe = 0;
// foreach ($taxes as $tax) {
// if ($tax->type == '%')
// $sommeTaux += $tax->valeur;
//
// if ($tax->type == 'fixe')
// $sommeFixe += $tax->valeur;
// }
// return ($frais * $sommeTaux / 100) + $sommeFixe;
//}
// set to whatever your rates are relative to
$baseCurrency = 'USD';
@ -223,7 +285,7 @@ $converter = new CurrencyConverter($provider);
<!---->
<!-- </div>-->
<div class="box-body">
<form id="calculatorForm" class="form-content" method="post">
<form id="calculatorForm" class="form-content" method="post" action="<?php echo base_url('index.php/Hyperviseur_dash/calculator') ?>">
<div class="form-group">
<div class="row">
<div class="col-lg-3">
@ -360,6 +422,63 @@ $converter = new CurrencyConverter($provider);
</div>
</div>
<?php } ?>
<div class="login-box" style="width: 600px;">
<h5><strong style="text-decoration: underline;">Simulateur</strong></h5>
<div class="login-box-body">
<div class="row" style="margin-bottom: 10px">
<div class="col-lg-6">
<label for="code">Code de retrait</label>
<input type="text" class="form-control" id="code"
name="code" value="">
</div>
<?php if(isset($error_simulateur)) {?>
<div class="col-lg-6">
<label for="code" class="text-red"><?= $error_simulateur?></label>
</div>
<?php } ?>
<?php if(isset($message_code)) {?>
<div class="col-lg-6">
<label for="code" class="text-green">Votre code de retrait</label>
<h4 class="text-green"><?= $message_code?></h4>
</div>
<?php } ?>
</div>
<div class="row">
<?php
$currency = @$d->currency_code ? @$d->currency_code : 'XAF';
$moneyComAg = Money::of(round(@$com_ag, 0),$currency);
$moneyComSup = Money::of(round(@$com_sup, 0),$currency);
$moneyComHyp = Money::of(round(@$com_hyp, 0),$currency);
$moneyComBq = Money::of(round(@$com_bq, 0),$currency);
?>
<div class="col-lg-3 col-md-6">
<div>
<label>Commission de l'agent</label>
<h4> <?= $moneyComAg->formatTo('fr_FR')?></h4>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div>
<label>Commission du superviseur</label>
<h4> <?= $moneyComSup->formatTo('fr_FR')?></h4>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div>
<label>Commission de l'hyperviseur </label>
<h4> <?= $moneyComHyp->formatTo('fr_FR')?> </h4>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div>
<label>Commission de la banque </label>
<h4> <?= $moneyComBq->formatTo('fr_FR')?> </h4>
</div>
</div>
</div>
</div>
</div>
<button type="submit"
name="save"
class="btn btn-warning btn-block openModal"><?php echo $this->lang->line('calculate'); ?></button>

View File

@ -519,7 +519,7 @@
</div>
<div class="row">
<!--Taux commission wallet agent carte client et Taux commission wallet agent carte client-->
<div class="col-lg-2 col-lg-offset-2 col-xs-6">
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-orange">
<div class="inner">
<h3><?php echo $taux_ag_r_cart; ?><sup style="font-size: 20px">%</sup></h3>
@ -568,6 +568,30 @@
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-teal-active">
<div class="inner">
<h3><?php echo $taux_hyp_r_cart_ilink; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('rate_com_hyp_remove_cart_ilink') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-up"></i>
</div>
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-teal-active">
<div class="inner">
<h3><?php echo $taux_bq_r_cart_ilink; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('rate_com_bq_remove_cart_ilink') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-up"></i>
</div>
</div>
</div>
</div>
<div class="row centered">
<div class="col-lg-3 col-xs-12">
@ -1557,6 +1581,18 @@
<input type="number" min="0" step=".01" required class="form-control"
name="taux_bq_r_cart" id="taux_bq_r_cart" value="<?= $taux_bq_r_cart ?>">
</div>
<div class="form-group">
<label for="taux_hyp_r_cart_ilink"
class="col-form-label"><?php echo $this->lang->line('rate_com_hyp_remove_cart_ilink') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
name="taux_hyp_r_cart_ilink" id="taux_hyp_r_cart_ilink" value="<?= $taux_hyp_r_cart_ilink ?>">
</div>
<div class="form-group">
<label for="taux_bq_r_cart_ilink"
class="col-form-label"><?php echo $this->lang->line('rate_com_bq_remove_cart_ilink') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
name="taux_bq_r_cart_ilink" id="taux_bq_r_cart_ilink" value="<?= $taux_bq_r_cart_ilink ?>">
</div>
</div>
</div>
</form>
@ -1829,132 +1865,138 @@
$('#updateWallet').click(function () {
const network_id = $(this).data('network-id');
const id_config = $(this).data('id-config');
// Paliers
var plr_user_wallet_wallet = [];
var plr_user_wallet_cash = [];
var plr_agent_depot_wallet_ilink = [];
var plr_agent_depot_autre_wallet = [];
var plr_agent_cash_cash = [];
var plr_user_wallet_wallet_national = [];
var plr_user_wallet_cash_national = [];
var plr_agent_depot_wallet_ilink_national = [];
var plr_agent_depot_autre_wallet_national = [];
var plr_agent_cash_cash_national = [];
// var headers = [];
// $('#user_wallet_wallet th').each(function(index, item) {
// headers[index] = $(item).html();
// });
$('#user_wallet_wallet tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_wallet.push(arrayItem);
});
$('#user_wallet_cash tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_cash.push(arrayItem);
});
$('#agent_depot_wallet tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_wallet_ilink.push(arrayItem);
});
$('#agent_depot_autre_wallet tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_autre_wallet.push(arrayItem);
});
$('#agent_cash_cash tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_cash_cash.push(arrayItem);
});
// Verification des taux de commission
// total répartition commission du réseau opération envoi-cash (les frais)
const total1 = parseFloat($('#taux_ag_s_c').val()) + parseFloat($('#taux_sup_s_c').val()) + parseFloat($('#taux_hyp_s_c').val());
$('#user_wallet_wallet_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_wallet_national.push(arrayItem);
});
$('#user_wallet_cash_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_cash_national.push(arrayItem);
});
$('#agent_depot_wallet_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_wallet_ilink_national.push(arrayItem);
});
$('#agent_depot_autre_wallet_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_autre_wallet_national.push(arrayItem);
});
$('#agent_cash_cash_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_cash_cash_national.push(arrayItem);
});
// total répartition commission du réseau opération retrait-cash (les frais)
const total2 = parseFloat($('#taux_ag_r_c').val()) + parseFloat($('#taux_sup_r_c').val()) + parseFloat($('#taux_hyp_r_c').val());
// console.log('data',plr_user_wallet_wallet )
const min1 = parseFloat($('#u_w_w_min').val());
const max1 = parseFloat($('#u_w_w_max').val());
// total répartition commission réseau dépôt cash-carte chez agent (frais)
const total3 = parseFloat($('#taux_ag_d_c').val()) + parseFloat($('#taux_sup_d_c').val()) + parseFloat($('#taux_hyp_d_c').val())
+ parseFloat($('#taux_bq_d_c').val());
const min2 = parseFloat($('#u_w_c_min').val());
const max2 = parseFloat($('#u_w_c_max').val());
// total répartition commission réseau retrait carte-cash chez agent (retrait)
const total4 = parseFloat($('#taux_ag_r_cart').val()) + parseFloat($('#taux_sup_r_cart').val()) + parseFloat($('#taux_hyp_r_cart').val())
+ parseFloat($('#taux_bq_r_cart').val());
const min3 = parseFloat($('#ag_d_w_min').val());
const max3 = parseFloat($('#ag_d_w_max').val());
// total répartition commission réseau retrait carte-cash utilisateur ilink (retrait)
const total5 = parseFloat($('#taux_hyp_r_cart_ilink').val()) + parseFloat($('#taux_bq_r_cart_ilink').val());
const min4 = parseFloat($('#ag_c_c_min').val());
const max4 = parseFloat($('#ag_c_c_max').val());
if(min1 >= max1){
$('#u_w_w_min').addClass("error");
// $('#u_w_w_min')[0].reportValidity();
} else if (min2 >= max2) {
$('#u_w_c_min').addClass("error");
// $('#u_w_c_min')[0].reportValidity();
} else if (min3 >= max3) {
$('#ag_d_w_min').addClass("error");
// $('#ag_d_w_min)[0].reportValidity();
} else if (min4 >= max4) {
$('#ag_c_c_min').addClass("error");
// $('#ag_c_c_min')[0].reportValidity();
if(total1 != 100){
toastr.error("<?php echo $this->lang->line('ilink_first_rule')?>", "<?php echo $this->lang->line('management_rule')?>");
} else if (total2 != 100) {
toastr.error("<?php echo $this->lang->line('ilink_second_rule')?>", "<?php echo $this->lang->line('management_rule')?>");
} else if (total3 != 100) {
toastr.error("<?php echo $this->lang->line('ilink_third_rule')?>", "<?php echo $this->lang->line('management_rule')?>");
} else if (total4 != 100) {
toastr.error("<?php echo $this->lang->line('ilink_fourth_rule')?>", "<?php echo $this->lang->line('management_rule')?>");
} else if (total5 != 100) {
toastr.error("<?php echo $this->lang->line('ilink_fifth_rule')?>", "<?php echo $this->lang->line('management_rule')?>");
} else {
if ($('#walletForm')[0].checkValidity()) {
// Paliers
var plr_user_wallet_wallet = [];
var plr_user_wallet_cash = [];
var plr_agent_depot_wallet_ilink = [];
var plr_agent_depot_autre_wallet = [];
var plr_agent_cash_cash = [];
var plr_user_wallet_wallet_national = [];
var plr_user_wallet_cash_national = [];
var plr_agent_depot_wallet_ilink_national = [];
var plr_agent_depot_autre_wallet_national = [];
var plr_agent_cash_cash_national = [];
// var headers = [];
// $('#user_wallet_wallet th').each(function(index, item) {
// headers[index] = $(item).html();
// });
$('#user_wallet_wallet tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_wallet.push(arrayItem);
});
$('#user_wallet_cash tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_cash.push(arrayItem);
});
$('#agent_depot_wallet tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_wallet_ilink.push(arrayItem);
});
$('#agent_depot_autre_wallet tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_autre_wallet.push(arrayItem);
});
$('#agent_cash_cash tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_cash_cash.push(arrayItem);
});
$('#user_wallet_wallet_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_wallet_national.push(arrayItem);
});
$('#user_wallet_cash_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_user_wallet_cash_national.push(arrayItem);
});
$('#agent_depot_wallet_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_wallet_ilink_national.push(arrayItem);
});
$('#agent_depot_autre_wallet_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_depot_autre_wallet_national.push(arrayItem);
});
$('#agent_cash_cash_national tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
if(index < 3)
arrayItem[index] = parseFloat($(item).html());
});
plr_agent_cash_cash_national.push(arrayItem);
});
$.ajax({
url: '<?php echo base_url('index.php/Gestion/config_wallet/update')?>',
type: 'POST',

View File

@ -116,8 +116,13 @@
$net = 0;
$banque = 0;
if($row->type_transac == 'credit'){
$commission = ( $row->montant * $config->taux_com_client_depot / 100 ) + $config->frais_min_banque_depot;
$net = $row->montant - $commission;
if($row->montant < 0){
$commission = (-$row->montant * $config->taux_com_client_depot / 100 ) + $config->frais_min_banque_depot;
$net = $row->montant + $commission;
}else{
$commission = ( $row->montant * $config->taux_com_client_depot / 100 ) + $config->frais_min_banque_depot;
$net = $row->montant - $commission;
}
$banque = $row->montant * (1 - ($config->taux_com_client_depot / 100));
}else{
$net = $row->montant ;