Browse Source

业务员奖

lizhen_gitee 1 week ago
parent
commit
47344c83c9
1 changed files with 42 additions and 40 deletions
  1. 42 40
      application/api/controller/Demo.php

+ 42 - 40
application/api/controller/Demo.php

@@ -4,6 +4,7 @@ namespace app\api\controller;
 
 use app\common\controller\Api;
 use think\Db;
+use app\utils\RedisUtil;
 /**
  * 示例接口
  */
@@ -115,80 +116,81 @@ class Demo extends Api
     //业务员奖
     public function yewuyuan(){
         $user_id = 1;
+        $last_month = date('Ym',strtotime(date('Y-m-01')) - 86400);
 
-        //我直推商家的总数量。以后需要冗余到user表
+        //我直推线下商家的总数量。
         $invite_count     = Db::name('offline_shop')->where('invite_id',$user_id)->count();
 
-        //我上个月直推商家的总数量
+        //我上个月直推线下商家的总数量
         $invite_count_mon = Db::name('offline_shop')->where('invite_id',$user_id)->whereTime('create_time','last month')->count();
 
-        //我的直推业绩
+        //我的个人业绩。我所有直推线下商家的3-20%的让利总额
         $invite_amount = Db::name('bill')->where('shop_invite_id',$user_id)->where('table_name','offline_shop_order')->where('back_status','neq',0)
             ->whereTime('createtime','last month')->sum('back_amount');
 
         //我团队业绩
-        $invite_uids = $this->get_all_down_uids();
+        $invite_uids = $this->get_all_down_uids($user_id);
         $invite_amount_tuandui = Db::name('bill')->where('shop_invite_id','IN',$invite_uids)->where('table_name','offline_shop_order')->where('back_status','neq',0)
             ->whereTime('createtime','last month')->sum('back_amount');
 
         //补贴/提成
         $butie = 0;        //补贴
-        $ticheng_rate = 0; //个人业绩提成 比例
-        $ticheng = 0;      //个人业绩提成
+        $yeji = 0;      //个人业绩提成
+        $yingxiao_level = 0;//用户的营销等级
 
         //各级的条件
         $level_list = Db::name('yingxiao_level')->order('id asc')->select();
         foreach($level_list as $level){
-            if($level['type'] == 1){
+            if($level['type'] == 1 || 1==1){
                 //营销经理
                 if($invite_amount_tuandui >= $level['invite_amount_tuandui'] && $invite_amount >= $level['invite_amount'] && $invite_count >= $level['invite_count']){
-                    $butie = $level['butie'];
-                    $ticheng_rate = $level['ticheng_rate'];
+                    $butie     = $level['butie'];
+                    $yeji_rate = $level['yeji_rate'];
 
-                    $ticheng = bcdiv(bcmul($invite_amount,$ticheng_rate,2),100,2);
+                    $yeji = bcdiv(bcmul($invite_amount,$yeji_rate,2),100,2);
 
-                    //公司分红(a%评分,b%业绩加权)
+                    $yingxiao_level = $level['id'];
+
+                    //公司分红(a%平分,b%业绩加权)
+                    $redis_key_a = $last_month . '_yingxiao_a_' . $yingxiao_level;
+                    RedisUtil::getInstance($redis_key_a)->lPush($user_id);
+
+                    //redis左推入当前用户
+                    $redis_key_b = $last_month . '_yingxiao_b_' . $yingxiao_level;
+                    RedisUtil::getInstance($redis_key_b)->lPush([
+                        'user_id' => $user_id,'invite_amount_tuandui' => $invite_amount_tuandui,
+                    ]);
+
+                    continue;
                 }
             }else{
                 //营销员
                 if($invite_amount >= 60000 && $invite_count_mon >= 5){
-                    $butie = 5000;
-                    $ticheng_rate = 5;
-                }
-            }
-        }
-
-        //高级营销经理
-        if($invite_amount_tuandui >= 800000 && $invite_amount >= 70000 && $invite_count >= 10){
-            $butie = 12000;
-            $ticheng_rate = 5;
+                    $butie     = $level['butie'];
+                    $yeji_rate = $level['yeji_rate'];
 
-            $ticheng = bcdiv(bcmul($invite_amount,$ticheng_rate,2),100,2);
+                    $yeji = bcdiv(bcmul($invite_amount,$yeji_rate,2),100,2);
 
-            //公司分红(a%评分,b%业绩加权)
-        }
+                    $yingxiao_level = $level['id'];
 
-        //初级营销经理
-        if($invite_amount_tuandui >= 200000 && $invite_amount >= 70000 && $invite_count >= 10){
-            $butie = 7000;
-            $ticheng_rate = 5;
-        }
-
-        //高级营销员
-        if($invite_amount >= 60000 && $invite_count_mon >= 5){
-            $butie = 5000;
-            $ticheng_rate = 5;
+                    continue;
+                }
+            }
         }
 
-        //初级营销员
-        if($invite_amount >= 30000 && $invite_count_mon >= 3){
-            $butie = 3000;
-            $ticheng_rate = 3;
+        if($yingxiao_level != 0){
+            if($butie > 0){
+                //给 $user_id 发 补贴
+            }
+            if($yeji > 0){
+                //给 $user_id 发 个人业绩
+            }
         }
 
+    }
 
-
-
+    private function get_all_down_uids($user_id){
+         return $user_id;
     }
 
     //每月初执行,跑代理辅助表,把上个月的数据全部推送到 代理队列