Browse Source

业务员分开a%评分,b%加权

lizhen_gitee 1 week ago
parent
commit
277f1d7860
1 changed files with 54 additions and 37 deletions
  1. 54 37
      application/api/controller/Demo.php

+ 54 - 37
application/api/controller/Demo.php

@@ -155,11 +155,11 @@ class Demo extends Api
                     $yingxiao_level = $level['id'];
 
                     //公司分红(a%平分,b%业绩加权)
-                    $redis_key_a = $last_month . '_yingxiao_a_' . $yingxiao_level;
+                    $redis_key_a = $last_month . '_yingxiao_' . $yingxiao_level . '_a';
                     RedisUtil::getInstance($redis_key_a)->lPush($user_id);
 
                     //redis左推入当前用户
-                    $redis_key_b = $last_month . '_yingxiao_b_' . $yingxiao_level;
+                    $redis_key_b = $last_month . '_yingxiao_' . $yingxiao_level . '_b';
                     RedisUtil::getInstance($redis_key_b)->lPush(json_encode([
                         'user_id' => $user_id,'invite_amount_tuandui' => $invite_amount_tuandui,
                     ]));
@@ -208,71 +208,88 @@ class Demo extends Api
             echo '基数为0结束';exit;
             return true;
         }
-        //dump($back_amount_sum);
+        dump('总基数'.$back_amount_sum);
 
         $yingxiao_level = Db::name('yingxiao_level')->where('id','IN','1,2')->column('id,fenhong,pingfen,jiaquan');
 
         //百分之一
         $base_1 = bcdiv(bcmul($back_amount_sum,$yingxiao_level[1]['fenhong'],4),100,4);
         $base_2 = bcdiv(bcmul($back_amount_sum,$yingxiao_level[2]['fenhong'],4),100,4);
-
+        dump('百分之一'.$base_1);
+        dump('百分之一'.$base_2);
         //两个ab基数
-        $back_amount_a1 = bcdiv(bcmul($base_1,$yingxiao_level[1]['pingfen'],4),100,4);
-        $back_amount_b1 = bcdiv(bcmul($base_1,$yingxiao_level[1]['jiaquan'],4),100,4);
+        $back_amount_1_a = bcdiv(bcmul($base_1,$yingxiao_level[1]['pingfen'],4),100,4);
+        $back_amount_1_b = bcdiv(bcmul($base_1,$yingxiao_level[1]['jiaquan'],4),100,4);
 
-        $back_amount_a2 = bcdiv(bcmul($base_2,$yingxiao_level[2]['pingfen'],4),100,4);
-        $back_amount_b2 = bcdiv(bcmul($base_2,$yingxiao_level[2]['jiaquan'],4),100,4);
+        $back_amount_2_a = bcdiv(bcmul($base_2,$yingxiao_level[2]['pingfen'],4),100,4);
+        $back_amount_2_b = bcdiv(bcmul($base_2,$yingxiao_level[2]['jiaquan'],4),100,4);
 
-        //dd($base_1,$base_2,$back_amount_a1,$back_amount_b1,$back_amount_a2,$back_amount_b2);
+        dd($base_1,$base_2,$back_amount_1_a,$back_amount_1_b,$back_amount_2_a,$back_amount_2_b);
 
         //两个ab奖
         $last_month = date('Ym',strtotime(date('Y-m-01')) - 86400);
 
-        $redis_key_a1 = $last_month . '_yingxiao_a_1';
-        $redis_key_b1 = $last_month . '_yingxiao_b_1';
+        $redis_key_1_a = $last_month . '_yingxiao_1_a';
+        $redis_key_1_b = $last_month . '_yingxiao_1_b';
 
-        $redis_key_a2 = $last_month . '_yingxiao_a_2';
-        $redis_key_b2 = $last_month . '_yingxiao_b_2';
+        $redis_key_2_a = $last_month . '_yingxiao_2_a';
+        $redis_key_2_b = $last_month . '_yingxiao_2_b';
 
-        $a1_list = RedisUtil::getInstance($redis_key_a1)->LRANGE();
-        $b1_list = RedisUtil::getInstance($redis_key_b1)->LRANGE();
+        $list_1_a = RedisUtil::getInstance($redis_key_1_a)->LRANGE();
+        $list_1_b = RedisUtil::getInstance($redis_key_1_b)->LRANGE();
 
-        $a2_list = RedisUtil::getInstance($redis_key_a2)->LRANGE();
-        $b2_list = RedisUtil::getInstance($redis_key_b2)->LRANGE();
+        $list_2_a = RedisUtil::getInstance($redis_key_2_a)->LRANGE();
+        $list_2_b = RedisUtil::getInstance($redis_key_2_b)->LRANGE();
 
-        //dd($redis_key_a1,$redis_key_b1,$a1_list,$b1_list);
 
-        if(!empty($a1_list)){
-            $a1_price = bcdiv($back_amount_a1,count($a1_list),2);
-            foreach($a1_list as $a1){
-                dump($a1);
-                dump($a1_price);
+        if(!empty($list_1_a)){
+            $price_1_a = bcdiv($back_amount_1_a,count($list_1_a),2);
+            foreach($list_1_a as $item_1_a){
+                dump($item_1_a);
+                dump($price_1_a);
                 //给用户id:$a1发钱
 //
             }
         }
-        dump($b1_list);
-        if(!empty($b1_list)){
-            dump(array_column($b1_list,'invite_amount_tuandui'));
-            $b1_total = array_sum(array_column($b1_list,'invite_amount_tuandui'));
-            dump($b1_total);
-            foreach($b1_list as $b1){
-//                dump($b1['user_id']);
-//                bcmul($back_amount_b1,bcdiv($b1['invite_amount_tuandui'],$b1_total,4),2);
+        dump($list_1_b);
+        if(!empty($list_1_b)){
+            //总额
+            foreach($list_1_b as $k_1_b => $v_1_b){
+                $list_1_b[$k_1_b] = json_decode($v_1_b,true);
+            }
+            $total_1_b = array_sum(array_column($list_1_b,'invite_amount_tuandui'));
+            dump($total_1_b);
+            foreach($list_1_b as $v_1_b){
+                dump($v_1_b['user_id']);
+                $price_1_b = bcmul($back_amount_1_b,bcdiv($v_1_b['invite_amount_tuandui'],$total_1_b,4),2);
+                dump($price_1_b);
             }
         }
 
-        if(!empty($a2_list)){
-            $a2_price = bcdiv($back_amount_a2,count($a2_list),2);
-            foreach($a2_list as $a2){
-                dump($a2);
-                dump($a2_price);
+        if(!empty($list_2_a)){
+            $price_2_a = bcdiv($back_amount_2_a,count($list_2_a),2);
+            foreach($list_2_a as $item_2_a){
+                dump($item_2_a);
+                dump($price_2_a);
                 //给用户id:$a2发钱
 //
             }
         }
 
-
+        dump($list_2_b);
+        if(!empty($list_2_b)){
+            //总额
+            foreach($list_2_b as $k_2_b => $v_2_b){
+                $list_2_b[$k_2_b] = json_decode($v_2_b,true);
+            }
+            $total_2_b = array_sum(array_column($list_2_b,'invite_amount_tuandui'));
+            dump($total_2_b);
+            foreach($list_2_b as $v_2_b){
+                dump($v_2_b['user_id']);
+                $price_2_b = bcmul($back_amount_2_b,bcdiv($v_2_b['invite_amount_tuandui'],$total_2_b,4),2);
+                dump($price_2_b);
+            }
+        }
 
     }