Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der PHP-Implementierung der Provisionsberechnung durch Rekursion

Detaillierte Erläuterung der PHP-Implementierung der Provisionsberechnung durch Rekursion

*文
Freigeben: 2023-03-19 09:54:02
Original
2246 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich das in PHP implementierte rekursive Provisionsschema vor und analysiert die Datenbankdesign- und Funktionsimplementierungsfähigkeiten des PHP-Provisionsschemas detaillierter in Form eines vollständigen Beispiels, einschließlich verwandter Fähigkeiten in mathematischen PHP-Operationen. Freunde in Not können darauf verweisen. Ich hoffe, dass es für alle hilfreich ist.

Kürzlich wird das rekursive Provisionsschema in CRM-Projekten verwendet. Die Analyse lautet wie folgt:

Die SQL-Anweisung lautet wie folgt:

CREATE TABLE `crm_proxy_bonux_rule` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '超过的部份提成规则ID',
`bouns_rule_name` varchar(20) NOT NULL COMMENT '规则名称,如D套餐0-20范围',
`rid` bigint(20) DEFAULT NULL COMMENT '为0,就是默认的全局设置',
`start_rang` smallint(6) DEFAULT NULL COMMENT '开始范围',
 `end_rang` smallint(6) DEFAULT NULL COMMENT '结束范围',
`bonus_rate` smallint(6) DEFAULT NULL COMMENT '提成率',
`bonus_reward` decimal(8,2) DEFAULT NULL COMMENT '奖励现金',
`chain_pre` int(11) DEFAULT NULL COMMENT '链表上一个值默认为0,表示根结点',
`chain_next` int(11) DEFAULT NULL COMMENT '链表下一个值',
`is_standard` enum('0','1') DEFAULT '0' COMMENT '是否是标准',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
Nach dem Login kopieren

Die PHP-Implementierung Der Code lautet wie folgt:

private function bouns_recursion($range,$standard,&$rule_list,$amount){
   $price = 1000;
   $max = $standard['end_rang']  ;//最大值
   $min = $standard['start_rang']  ;//最小值
   $bonus_rate = $standard['bonus_rate'];//分红率
   if($range<$min){
      return false;
   }
   $standard_amount = 0;
   $plus = 0;
   //是否是标准 第一个
   if($standard[&#39;is_standard&#39;]==1){
       $standard_amount = $price * $min * $bonus_rate / 100; //求提成 600  300 
    }else{
      $plus = 1; //第二次要累加
   }
   if($range > $max){
     $number = ($max - $min) + $plus;//算出差值值 5 4-3 == 1
     $amount = ($price * $number * $bonus_rate / 100); //求提成 200
   }else{
      $number = ($range - $min ) + $plus;//算出差值值 4 1
      $amount = ($price * $number * $bonus_rate / 100); //求提成 
  }
   $amount = $amount + $standard_amount;//800
   if(!empty($rule_list[$standard[&#39;chain_next&#39;]]) && $range > $max){
      return $amount += $this->bouns_recursion($range, $rule_list[$standard[&#39;chain_next&#39;]], $rule_list,$amount);
  }
  return $amount;
}
Nach dem Login kopieren

Verwandte Empfehlungen:

Detaillierte Erläuterung, wie PHP funktionsfähige Verifizierungscodes implementiert

Detaillierte Erklärung, wie PHP die Dateisuche implementiert

Detaillierte Erklärung, wie PHP die Funktion des Website-Messageboards implementiert

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Implementierung der Provisionsberechnung durch Rekursion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage