From 0ed45cc83bd079f3e408a4a160508571ef93013a Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Mon, 18 Dec 2023 11:38:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=88=86=E9=94=80?= =?UTF-8?q?=E5=95=86=E5=8D=87=E7=BA=A7=E6=9D=A1=E4=BB=B6=20-=20=E5=87=A0?= =?UTF-8?q?=E6=9D=A1=E7=BA=BF=E6=9F=90=E7=AD=89=E7=BA=A7=E5=A4=9A=E5=B0=91?= =?UTF-8?q?=E4=BA=BA=E6=9D=A1=E4=BB=B6=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commission/src/admin/FixController.php | 2 +- .../src/services/AgentLevelService.php | 2 +- .../src/services/UpgradeService.php | 2 +- .../src/services/UpgrateConditionsService.php | 29 +++++-------------- .../views/admin/level_info.blade.php | 3 +- 5 files changed, 12 insertions(+), 26 deletions(-) diff --git a/plugins/commission/src/admin/FixController.php b/plugins/commission/src/admin/FixController.php index 4fbc449a..c29d6b24 100644 --- a/plugins/commission/src/admin/FixController.php +++ b/plugins/commission/src/admin/FixController.php @@ -30,7 +30,7 @@ class FixController extends BaseController public function test() { - // $model = Order::find(2); + // $model = Order::find(20 ); // $levels = UpgradeService::getLevelUpgraded(); // $set = \Setting::get('plugin.commission'); // (new UpgrateByOrderJob($model->uid, 1, $model, $levels, $set))->handle(); diff --git a/plugins/commission/src/services/AgentLevelService.php b/plugins/commission/src/services/AgentLevelService.php index bb4cdb15..6b23cc6d 100644 --- a/plugins/commission/src/services/AgentLevelService.php +++ b/plugins/commission/src/services/AgentLevelService.php @@ -150,7 +150,7 @@ class AgentLevelService case 'each_line_lv': $levelId = $upgrade['each_line_lv']['each_line_lv_level_id']; $lvName = AgentLevel::uniacid()->where('id',$levelId)->value('name'); - $upgrades['each_line_lv']['type'] = '直推间推 '.$lvName.' 每条线满 '.$upgrade['each_line_lv']['each_line_lv_people'].' 人'; + $upgrades['each_line_lv']['type'] = $upgrade['each_line_lv']['each_line_lv_line'].'条线产生 '.$lvName.' 等级,每条线达到 '.$upgrade['each_line_lv']['each_line_lv_people'].' 人'; if($upgrade['each_line_lv']['each_line_lv_history']) $upgrades['each_line_lv']['type'] .= ';计算历史人数'; break; case 'team_consumption_people': diff --git a/plugins/commission/src/services/UpgradeService.php b/plugins/commission/src/services/UpgradeService.php index b8e6ae03..b0cb416b 100644 --- a/plugins/commission/src/services/UpgradeService.php +++ b/plugins/commission/src/services/UpgradeService.php @@ -1097,7 +1097,7 @@ class UpgradeService{ 'goods' => "购买指定商品", 'many_good' => "购买指定商品之一", 'one_level_count' => "直推某个等级满{$data['one_level_count']['one_level_count_people']}人", - 'each_line_lv' => "直推间推某个等级每条线满{$data['each_line_lv']['each_line_lv_people']}人", + 'each_line_lv' => "{$data['each_line_lv']['each_line_lv_line']}条线产生某个等级,每条线达到{$data['each_line_lv']['each_line_lv_people']}人", 'team_consumption_people' => "团队消费用户满{$data['team_consumption_people']['team_consumption_people_total']}人" . ($data['team_consumption_people']['team_consumption_people_close_max'] == 1 ? ';去除人数最多的线' : ''), ]; diff --git a/plugins/commission/src/services/UpgrateConditionsService.php b/plugins/commission/src/services/UpgrateConditionsService.php index a32af896..a65cc8ca 100644 --- a/plugins/commission/src/services/UpgrateConditionsService.php +++ b/plugins/commission/src/services/UpgrateConditionsService.php @@ -567,7 +567,7 @@ class UpgrateConditionsService ->toArray(); if(count($subIds) <= 0) continue; // 循环判断:是否达成条件 根据设置判断:计算当前等级 OR 计算历史等级 - $isMeetTheConditions = true;// 默认达成条件 + $isMeetTheConditions = 0;// 达成条件的线数量 默认0 $people = (int)$eachLineLv['each_line_lv_people'] > 0 ? (int)$eachLineLv['each_line_lv_people'] : 1;// 条件人数 if($eachLineLv['each_line_lv_history'] == 1){ // 计算历史等级 @@ -579,11 +579,8 @@ class UpgrateConditionsService ->where('after_level_id',$eachLineLv['each_line_lv_level_id']) ->whereIn('uid',$lineAllUid) ->count(DB::raw('DISTINCT(uid)')); - // 判断:只要有一条线 未达成条件 则都未达成条件,并且跳出循环 - if($people > $hasNum){ - $isMeetTheConditions = false; - break; - } + // 判断:是否达成条件 达成条件则达成条件的线数量+1 + if($people >= $hasNum) ++$isMeetTheConditions; } }else{ // 计算当前等级 @@ -598,17 +595,13 @@ class UpgrateConditionsService }) ->whereIn('uid',$lineAllUid) ->count(DB::raw('DISTINCT(uid)')); - // 判断:只要有一条线 未达成条件 则都未达成条件,并且跳出循环 - if($people > $hasNum){ - $isMeetTheConditions = false; - break; - } + // 判断:是否达成条件 达成条件则达成条件的线数量+1 + if($people >= $hasNum) ++$isMeetTheConditions; } } - - $isReach = $isMeetTheConditions; + // 判断:达成条件的线数量是否大于等于要求数量 $validateResult = UpgradeService::validate($level, $parentUser['member_id']); - if($isReach && $validateResult) $isPass = true; + if($isMeetTheConditions >= (int)$eachLineLv['each_line_lv_line'] && $validateResult) $isPass = true; } } } @@ -693,12 +686,4 @@ class UpgrateConditionsService } - - - - - - - - } \ No newline at end of file diff --git a/plugins/commission/views/admin/level_info.blade.php b/plugins/commission/views/admin/level_info.blade.php index 0f797899..397bb223 100644 --- a/plugins/commission/views/admin/level_info.blade.php +++ b/plugins/commission/views/admin/level_info.blade.php @@ -184,7 +184,8 @@