>  기사  >  백엔드 개발  >  재귀를 통한 PHP의 커미션 계산 구현에 대한 자세한 설명

재귀를 통한 PHP의 커미션 계산 구현에 대한 자세한 설명

*文
*文원래의
2018-01-05 18:05:162217검색

이 기사에서는 주로 PHP에서 구현된 재귀 커미션 체계를 소개하고 PHP 수학 연산 관련 기술을 포함하는 완전한 예의 형태로 PHP 커미션 체계의 데이터베이스 설계 및 기능 구현 기술을 더 자세히 분석합니다. 도움이 필요한 친구들이 참고하면 좋을 것 같아요.

최근 CRM 프로젝트에서 사용되는 순환 커미션 방식을 분석해 보면 다음과 같습니다.

SQL 문은 다음과 같습니다.

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;

PHP 구현 코드는 다음과 같습니다.

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

관련 권장 사항:

PHP에서 작동 가능한 검증 코드를 구현하는 방법 설명

PHP에서 파일 검색을 구현하는 방법에 대한 자세한 설명

PHP에서 웹 사이트 메시지 게시판 기능을 구현하는 방법에 대한 자세한 설명

위 내용은 재귀를 통한 PHP의 커미션 계산 구현에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.