优化:分销商升级条件 - 几条线某等级多少人条件调整

This commit is contained in:
wuhui_zzw 2023-12-18 11:38:20 +08:00
parent 7378b64c82
commit 0ed45cc83b
5 changed files with 12 additions and 26 deletions

View File

@ -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();

View File

@ -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':

View File

@ -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 ? ';去除人数最多的线' : ''),
];

View File

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

View File

@ -184,7 +184,8 @@
<div class='input-group-addon waytxt'>
<input type="checkbox" name="upgrade_type[each_line_lv]" value="1" @if ($upgrade_data['each_line_lv']) checked @endif>
</div>
<div class='input-group-addon waytxt'>直推间推</div>
<input type="number" name="upgrade_value[each_line_lv][each_line_lv_line]" value="{{$upgrade_data['each_line_lv']['each_line_lv_line']}}" class="form-control">
<div class='input-group-addon waytxt'>条线,产生</div>
<select name='upgrade_value[each_line_lv][each_line_lv_level_id]' class="form-control" style="width: 150px;">
@foreach($level_list as $level)
<option value='{{$level['id']}}' @if($level['id'] == $upgrade_data['each_line_lv']['each_line_lv_level_id'])selected @endif >