添加:经销商添加团队消费人数达到多少人升级
This commit is contained in:
parent
28d447a618
commit
2ec492f449
|
|
@ -325,12 +325,14 @@ class TeamAgencyController extends BaseController
|
|||
|
||||
public function test(){
|
||||
|
||||
//因为model偶尔会出现status异常的问题,所以重新查询一遍
|
||||
// $model = Order::with('hasManyOrderGoods')->find(84);
|
||||
//经销商升级模拟 因为model偶尔会出现status异常的问题,所以重新查询一遍
|
||||
// $model = Order::with('hasManyOrderGoods')->find(16);
|
||||
// $set = \Setting::get('plugin.team_dividend');
|
||||
// (new NewUpgrateJob($model->uid, $set, $model->uniacid, TeamDividendLevelUpgrade::ORDER_PAY, $model))->handle();
|
||||
|
||||
// $order = Order::find(22);
|
||||
|
||||
// 经销商提成模拟
|
||||
// $order = Order::find(16);
|
||||
// $TeamReturnService = ReturnConfig::getClass();
|
||||
// if (app('plugins')->isEnabled('team-sideways')) debug('经销商订单创建终止:team-sideways');
|
||||
// $set = $order->getSetting('plugin.team_dividend');
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class TeamDividendLevelUpgrade extends BackendModel
|
|||
'1031' => 'team_new_order_number', // 团队新订单数量满
|
||||
'1032' => 'team_shop_order_amount', // 团队自营订单实付金额满
|
||||
'1050' => 'one_or_two', // 直推间推 某个等级 满多少人
|
||||
|
||||
'1051' => 'team_consumption_people',// 团队消费人数满多少人 支持去除人数最多的线
|
||||
];
|
||||
// 等级为 2000 + 等级id
|
||||
return $ret;
|
||||
|
|
|
|||
|
|
@ -2016,6 +2016,86 @@ class UpgrateConditionService{
|
|||
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Common: 升级条件 - 团队消费人数多少人,支持去除人数最多的线
|
||||
* Author: wu-hui
|
||||
* Time: 2023/12/15 17:52
|
||||
* @return bool
|
||||
*/
|
||||
public function teamConsumptionPeople(){
|
||||
try{
|
||||
$upgradeSet = $this->upgradeParase[$this->typeName];
|
||||
if(!$upgradeSet) throw new \Exception('未设置条件,不执行');
|
||||
// 获取直推下级列表
|
||||
$subIds = MemberChild::uniacid()
|
||||
->where('level',1)
|
||||
->where('member_id',$this->uid)
|
||||
->pluck('child_id')
|
||||
->toArray();
|
||||
if(count($subIds) <= 0) throw new \Exception('无直推下级信息,不执行');
|
||||
$eachLineUid = [];// 每条线的用户id列表
|
||||
$maxPeopleInfo = [
|
||||
'max_num' => 0,// 最大线人数
|
||||
'sub_uid' => 0,// 最大线所属直推用户id
|
||||
];
|
||||
foreach($subIds as $subUid){
|
||||
// 获取每条件的用户id
|
||||
$lineAllUid = MemberChild::uniacid()->where('member_id',$subUid)->pluck('child_id')->toArray();
|
||||
$lineAllUid[] = $subUid;
|
||||
$eachLineUid[$subUid] = $lineAllUid;
|
||||
// 判断:当前线用户数量是否为最多
|
||||
if($maxPeopleInfo['max_num'] <= count($eachLineUid[$subUid])) {
|
||||
$maxPeopleInfo = [
|
||||
'max_num' => count($eachLineUid[$subUid]),// 最大线人数
|
||||
'sub_uid' => $subUid,// 最大线所属直推用户id
|
||||
];
|
||||
}
|
||||
}
|
||||
// 判断:是否去除人数最多的那条线
|
||||
if((int)$upgradeSet['team_consumption_people_close_max'] == 1) unset($eachLineUid[$maxPeopleInfo['sub_uid']]);
|
||||
if(count($eachLineUid) <= 0) throw new \Exception('无有效团队信息,不执行');
|
||||
// 计算:消费总人数
|
||||
$allSubIds = [];
|
||||
foreach($eachLineUid as $eachLineInfo){
|
||||
$allSubIds = array_merge($allSubIds,$eachLineInfo);
|
||||
}
|
||||
$consumptionPeople = Order::uniacid()
|
||||
->leftJoin('yz_order_goods','yz_order_goods.order_id','yz_order.id')
|
||||
->leftJoin('yz_goods_cultural_space','yz_goods_cultural_space.goods_id','yz_order_goods.goods_id')
|
||||
->whereIn('yz_order.uid',$allSubIds)
|
||||
->where('yz_order.status','>',0)
|
||||
->where('yz_goods_cultural_space.is_open',$this->levelType == 1 ? 1 : 0)
|
||||
->distinct('yz_order.uid')
|
||||
->count();
|
||||
// 判断:是否达到升级要求 需求人数小于等于当前人数-达成升级条件
|
||||
$people = (int)$upgradeSet['team_consumption_people_total'] > 0 ? (int)$upgradeSet['team_consumption_people_total'] : 1;
|
||||
$isReach = (boolean)($people <= $consumptionPeople);
|
||||
$this->uplogService->pushCondition([
|
||||
'type' => $this->typeName,
|
||||
'type_name' => '团队消费人数多少人',
|
||||
'func_name' => 'teamConsumptionPeople',
|
||||
'condition' => '',
|
||||
'result' => '',
|
||||
'remark' => $isReach ? '满足条件' : '不满足条件'
|
||||
]);
|
||||
if($isReach) return true;
|
||||
|
||||
}catch(\Exception $e){
|
||||
$this->uplogService->pushCondition([
|
||||
'type' => $this->typeName,
|
||||
'type_name' => '团队消费人数多少人',
|
||||
'func_name' => 'teamConsumptionPeople',
|
||||
'condition' => '',
|
||||
'complete' => '',
|
||||
'result' => '',
|
||||
'remark' => $e->getMessage()
|
||||
]);
|
||||
\Log::debug('经销商升级 - 升级条件 - 团队消费人数多少人 - 错误:',$e->getMessage());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -766,6 +766,27 @@
|
|||
{{-- 直推间推 某个等级 满多少人 END --}}
|
||||
|
||||
|
||||
{{-- 直推间推 某个等级 满多少人 START --}}
|
||||
<div class="input-group row">
|
||||
<label class="radio-inline col-xs-12 col-sm-12">
|
||||
<div class="col-xs-12 col-sm-6" style="padding-left: 0">
|
||||
<input type="checkbox" name="upgrade_type[team_consumption_people]" value="1" @if ($upgrade_type['team_consumption_people']) checked @endif>
|
||||
(编号:<a href='JavaScript:'>1051</a>)
|
||||
<br>
|
||||
<div class='input-group'>
|
||||
<div class='input-group-addon waytxt'>团队消费人数满</div>
|
||||
<input type="number" name="upgrade_value[team_consumption_people][team_consumption_people_total]" value="{{$upgrade_value['team_consumption_people']['team_consumption_people_total']}}" class="form-control">
|
||||
<div class='input-group-addon waytxt'>人;</div>
|
||||
<div class='input-group-addon waytxt'>
|
||||
<input type="checkbox" name="upgrade_value[team_consumption_people][team_consumption_people_close_max]" value="1" @if ($upgrade_value['team_consumption_people']['team_consumption_people_close_max']) checked @endif>
|
||||
</div>
|
||||
<div class='input-group-addon waytxt'>去除业绩最大的那条线</div>
|
||||
</div>
|
||||
<span class="help-block">根据当前等级类型计算;当前等级类型为文创等级则统计文创商品业绩,为普通商品则统计非文创商品业绩;先计算所有人数(包含未消费),去除人数最多的线再计算消费用户数量</span>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
{{-- 直推间推 某个等级 满多少人 END --}}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue