作者 景龙
1 个管道 的构建 通过 耗费 9 秒

修改分销逻辑

@@ -349,21 +349,10 @@ class Person extends Api @@ -349,21 +349,10 @@ class Person extends Api
349 $score = $scoreRule['set_score']; 349 $score = $scoreRule['set_score'];
350 } 350 }
351 $offlineModel = new Line(); 351 $offlineModel = new Line();
352 - //此处判断分享用户否已有上线,如果有,则不能成为其他的下线  
353 - $each_other = $offlineModel->where(['off_uid'=>$share_uid])->select();  
354 - //判断本登录用户是否有上线 352 + //判断本登录用户是否有上线,如果有,则不能成为其他人的下线
355 $other = $offlineModel->where(['off_uid'=>$this->user_id])->select(); 353 $other = $offlineModel->where(['off_uid'=>$this->user_id])->select();
356 //分享人是自己无效 354 //分享人是自己无效
357 if($share_uid != $this->user_id){ 355 if($share_uid != $this->user_id){
358 - //分享用户有上线  
359 - if($each_other){  
360 - $on_uid = array_unique(array_column($each_other,'uid'))[0];  
361 - //给上线增加积分  
362 - $userModel = new \app\admin\model\User();  
363 - $userModel->where(['id'=>$on_uid,'status'=>'normal'])->setInc('score', $score);  
364 - //创建上线用户的积分记录  
365 - $offlineModel->create(['uid'=>$on_uid,'s_score'=>$score,'off_uid'=>$share_uid,'type'=>$class]);  
366 - }else{  
367 //本登录用户没有上线 356 //本登录用户没有上线
368 if(!$other){ 357 if(!$other){
369 //给分享用户增加积分 358 //给分享用户增加积分
@@ -371,6 +360,16 @@ class Person extends Api @@ -371,6 +360,16 @@ class Person extends Api
371 $userModel->where(['id'=>$share_uid,'status'=>'normal'])->setInc('score', $score); 360 $userModel->where(['id'=>$share_uid,'status'=>'normal'])->setInc('score', $score);
372 //成为分享用户的下线并创建积分记录 361 //成为分享用户的下线并创建积分记录
373 $offlineModel->create(['uid'=>$share_uid,'s_score'=>$score,'off_uid'=>$this->user_id,'type'=>$class]); 362 $offlineModel->create(['uid'=>$share_uid,'s_score'=>$score,'off_uid'=>$this->user_id,'type'=>$class]);
  363 + }else{
  364 + //本登陆用户有上线
  365 + $is_share = array_unique(array_column($other,'uid'))[0];
  366 + //判断上线是不是原有的上线用户
  367 + if($is_share == $share_uid){
  368 + //给分享用户增加积分
  369 + $userModel = new \app\admin\model\User();
  370 + $userModel->where(['id'=>$share_uid,'status'=>'normal'])->setInc('score', $score);
  371 + //成为分享用户的下线并创建积分记录
  372 + $offlineModel->create(['uid'=>$share_uid,'s_score'=>$score,'off_uid'=>$this->user_id,'type'=>$class]);
374 } 373 }
375 } 374 }
376 } 375 }