添加:分销商提成区分为文创等级提成和普通提成
This commit is contained in:
parent
b187ffd571
commit
7dd5e3b8ef
|
|
@ -165,23 +165,18 @@ class OrderCreatedListener
|
|||
$agent['agent']['hierarchy'] = $level;
|
||||
|
||||
//获取佣金 计算金额 计算公式 佣金比例 分销订单商品等数据
|
||||
|
||||
// 计算普通等级佣金
|
||||
$commission = CommissionOrderService::getCommission($this->order, $agent['agent'], $this->set);
|
||||
if ($commission['commission'] > 0) $this->addCommissionOrder($commission, $agent, $hierarchy, $level);
|
||||
else \Log::debug('订单分销没有佣金 - 普通等级'.$order_id,$agent['agent']);
|
||||
// 计算文创等级分红
|
||||
$culturalAgent = $agent;
|
||||
$culturalAgent['agent']['agent_level'] = $culturalAgent['agent']['cultural_level'];
|
||||
$culturalCommission = CommissionOrderService::getCommission($this->order, $culturalAgent, $this->set);
|
||||
if ($culturalCommission['commission'] > 0) $this->addCommissionOrder($culturalCommission, $culturalAgent, $hierarchy, $level, 1);
|
||||
else \Log::debug('订单分销没有佣金 - 文创等级'.$order_id,$agent['agent']);
|
||||
|
||||
if ($commission['commission'] > 0) {
|
||||
|
||||
$this->addCommissionOrder($commission, $agent, $hierarchy, $level);
|
||||
} else {
|
||||
\Log::debug('订单分销没有佣金'.$order_id,print_r($agent,true));
|
||||
/*Operation::create([
|
||||
'uniacid' => $this->order->uniacid,
|
||||
'order_id' => $this->order->id,
|
||||
'uid' => $agent['agent']['member_id'],
|
||||
'buy_uid' => $this->order->uid,
|
||||
'level_id' => 0,
|
||||
'ratio' => 0,
|
||||
'content' => "没有分销金额"
|
||||
]);*/
|
||||
}
|
||||
|
||||
// 额外分红
|
||||
if (!$is_additiona_commission) {
|
||||
|
|
@ -191,12 +186,13 @@ class OrderCreatedListener
|
|||
\Log::debug('分销进入额外分红',$agent);
|
||||
$is_additiona_commission = true;
|
||||
$additiona_commission = CommissionOrderService::getAdditionalCommission($this->order, $agent['agent'], $this->set);
|
||||
|
||||
if ($additiona_commission['commission'] > 0) {
|
||||
$this->addCommissionOrder($additiona_commission, $agent, 0, $level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -217,7 +213,7 @@ class OrderCreatedListener
|
|||
* @param $hierarchy
|
||||
* @param $level
|
||||
*/
|
||||
public function addCommissionOrder($commission, $agent, $hierarchy, $level)
|
||||
public function addCommissionOrder($commission, $agent, $hierarchy, $level, $levelType = 0)
|
||||
{
|
||||
//分销订单数据
|
||||
$orderData = [
|
||||
|
|
@ -234,6 +230,7 @@ class OrderCreatedListener
|
|||
'status' => 0,
|
||||
'settle_days' => $this->getSettleDays(),
|
||||
'created_at' => time(),
|
||||
'level_type' => $levelType,
|
||||
];
|
||||
$exist = CommissionOrder::where([
|
||||
'member_id' => $orderData['member_id'],
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ class Agents extends BaseModel
|
|||
|
||||
public $AgentLevel;
|
||||
|
||||
public $CulturalLevel;
|
||||
|
||||
/**
|
||||
* @param $uid
|
||||
|
|
@ -180,7 +181,7 @@ class Agents extends BaseModel
|
|||
return $query2->select(['uid', 'avatar', 'nickname', 'realname', 'mobile', 'createtime']);
|
||||
}
|
||||
]);
|
||||
$agentModel->with('agentLevel');
|
||||
$agentModel->with(['agentLevel','culturalLevel']);
|
||||
|
||||
if ($search['follow'] >= '0') {
|
||||
if ($search['follow'] == 2) {
|
||||
|
|
@ -238,7 +239,7 @@ class Agents extends BaseModel
|
|||
public static function getAgentByMemberId($memberId)
|
||||
{
|
||||
return self::uniacid()
|
||||
->with('agentLevel')
|
||||
->with(['agentLevel','culturalLevel'])
|
||||
->where('member_id', $memberId);
|
||||
}
|
||||
|
||||
|
|
@ -343,10 +344,7 @@ class Agents extends BaseModel
|
|||
}
|
||||
]);
|
||||
|
||||
$lowerModel->with([
|
||||
'agentLevel' => function ($query) {
|
||||
}
|
||||
]);
|
||||
$lowerModel->with(['agentLevel','culturalLevel']);
|
||||
|
||||
if (!empty($search) && $search['follow'] >= '0') {
|
||||
if ($search['follow'] == 2) {
|
||||
|
|
@ -427,10 +425,7 @@ class Agents extends BaseModel
|
|||
}
|
||||
]);
|
||||
|
||||
$lowerModel->with([
|
||||
'agentLevel' => function ($query) {
|
||||
}
|
||||
]);
|
||||
$lowerModel->with(['agentLevel','culturalLevel']);
|
||||
|
||||
if (!empty($search) && $search['follow'] >= '0') {
|
||||
if ($search['follow'] == 2) {
|
||||
|
|
@ -482,7 +477,12 @@ class Agents extends BaseModel
|
|||
$qurey->select('id', 'name', 'first_level', 'second_level', 'third_level')->where(
|
||||
['uniacid' => \YunShop::app()->uniacid]
|
||||
);
|
||||
}
|
||||
},
|
||||
'culturalLevel' => function ($qurey) {
|
||||
$qurey->select('id', 'name', 'first_level', 'second_level', 'third_level')->where(
|
||||
['uniacid' => \YunShop::app()->uniacid]
|
||||
);
|
||||
},
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -613,6 +613,11 @@ class Agents extends BaseModel
|
|||
return $this->belongsTo('Yunshop\Commission\models\AgentLevel', 'agent_level_id', 'id');
|
||||
}
|
||||
|
||||
public function culturalLevel()
|
||||
{
|
||||
return $this->belongsTo('Yunshop\Commission\models\AgentLevel', 'cultural_level_id', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 定义字段名
|
||||
* 可使
|
||||
|
|
|
|||
|
|
@ -58,7 +58,9 @@ class CommissionOrder extends BaseModel
|
|||
});
|
||||
}
|
||||
$query->with(['agent' => function ($query4) {
|
||||
$query4->with('agentLevel');
|
||||
$query4->with(['agentLevel','culturalLevel'=>function($query){
|
||||
$query->select(['id','name']);
|
||||
}]);
|
||||
}]);
|
||||
|
||||
if (!empty($search['member'])) {
|
||||
|
|
@ -190,6 +192,8 @@ class CommissionOrder extends BaseModel
|
|||
$query->select('member_id', 'agent_level_id');
|
||||
$query->with(['agentLevel' => function ($query) {
|
||||
$query->select('id', 'name');
|
||||
},'culturalLevel'=>function($query){
|
||||
$query->select(['id','name']);
|
||||
}]);
|
||||
}])
|
||||
->where(function ($query) {
|
||||
|
|
@ -217,6 +221,8 @@ class CommissionOrder extends BaseModel
|
|||
$query->select('member_id', 'agent_level_id');
|
||||
$query->with(['agentLevel' => function ($query) {
|
||||
$query->select('id', 'name');
|
||||
},'culturalLevel'=>function($query){
|
||||
$query->select(['id','name']);
|
||||
}]);
|
||||
}])
|
||||
->where('status', '1');
|
||||
|
|
|
|||
|
|
@ -46,24 +46,24 @@ class YzMember extends MemberShopInfo
|
|||
if (!$agentModel) {
|
||||
return false;
|
||||
}
|
||||
$memberAgent = Agents::where('member_id', $agentModel->member_id)->with('agentLevel')->first();
|
||||
$memberAgent = Agents::where('member_id', $agentModel->member_id)->with(['agentLevel','culturalLevel'])->first();
|
||||
if (!empty($memberAgent)) {
|
||||
$agentModel->setRelation('agent', Agents::where('member_id', $agentModel->member_id)->with('agentLevel')->first());
|
||||
$agentModel->setRelation('agent', Agents::where('member_id', $agentModel->member_id)->with(['agentLevel','culturalLevel'])->first());
|
||||
}
|
||||
if ($agentModel->parent_id) {
|
||||
$firstParentModel = self::where('member_id', $agentModel->parent_id)->with('hasOneFans')->first();
|
||||
if (!empty($firstParentModel)) {
|
||||
$firstParentModel->setRelation('agent', Agents::where('member_id', $agentModel->parent_id)->with('agentLevel')->first());
|
||||
$firstParentModel->setRelation('agent', Agents::where('member_id', $agentModel->parent_id)->with(['agentLevel','culturalLevel'])->first());
|
||||
}
|
||||
if ($firstParentModel->parent_id) {
|
||||
$secondParentModel = self::where('member_id', $firstParentModel->parent_id)->with('hasOneFans')->first();
|
||||
if (!empty($secondParentModel)) {
|
||||
$secondParentModel->setRelation('agent', Agents::where('member_id', $firstParentModel->parent_id)->with('agentLevel')->first());
|
||||
$secondParentModel->setRelation('agent', Agents::where('member_id', $firstParentModel->parent_id)->with(['agentLevel','culturalLevel'])->first());
|
||||
}
|
||||
if ($secondParentModel->parent_id){
|
||||
$thirdParentModel = self::where('member_id', $secondParentModel->parent_id)->with('hasOneFans')->first();
|
||||
if (!empty($thirdParentModel)) {
|
||||
$thirdParentModel->setRelation('agent', Agents::where('member_id', $secondParentModel->parent_id)->with('agentLevel')->first());
|
||||
$thirdParentModel->setRelation('agent', Agents::where('member_id', $secondParentModel->parent_id)->with(['agentLevel','culturalLevel'])->first());
|
||||
$secondParentModel->setRelation('belongsToParent', $thirdParentModel);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,10 +190,18 @@
|
|||
{{$row['parentMember']['nickname']}}</a>
|
||||
</td>
|
||||
<td>
|
||||
@if($row->agent['agentLevel']['name'] == '默认等级')
|
||||
{{$defaultLevelName}}
|
||||
@if($row['level_type'] == 1)
|
||||
@if($row->agent['culturalLevel']['name'] == '默认等级')
|
||||
{{$defaultLevelName}}
|
||||
@else
|
||||
{{ $row->agent['culturalLevel']['name'] }}
|
||||
@endif
|
||||
@else
|
||||
{{$row->agent['agentLevel']['name']}}
|
||||
@if($row->agent['agentLevel']['name'] == '默认等级')
|
||||
{{$defaultLevelName}}
|
||||
@else
|
||||
{{ $row->agent['agentLevel']['name'] }}
|
||||
@endif
|
||||
@endif
|
||||
</br>层级:{{$row['hierarchy']}} - 比例:{{$row['commission_rate']}}</td>
|
||||
<td>
|
||||
|
|
|
|||
Loading…
Reference in New Issue