修改:本人不在获得贡献值,只有直推上级可以获得

文字修改:贡献值分红名称改为贡献分享分红
文字修改:贡献值分红名称改为贡献分享分红,生态发展收益改为销售受益,贡献分红改为贡献分享分红,权证兑换改为合伙人受益,董事参与分股权改为合伙人参与分股权
This commit is contained in:
wuhui_zzw 2023-12-15 16:36:59 +08:00
parent 4a64ba37e6
commit fb29521dfa
18 changed files with 64 additions and 62 deletions

View File

@ -346,7 +346,7 @@ class Income extends BaseModel
else $query->where('yz_commission_order.level_type',0); else $query->where('yz_commission_order.level_type',0);
}) })
->sum('yz_member_income.amount'); ->sum('yz_member_income.amount');
// 获取股东分红提成 收益类型0=股权分红1=加权收益 权证兑换 // 获取股东分红提成 收益类型0=股权分红1=加权收益 合伙人受益
$shareholderDividendTotal = (float)Income::uniacid() $shareholderDividendTotal = (float)Income::uniacid()
->leftjoin('yz_shareholder_dividend','yz_shareholder_dividend.id','=','yz_member_income.incometable_id') ->leftjoin('yz_shareholder_dividend','yz_shareholder_dividend.id','=','yz_member_income.incometable_id')
->where('yz_member_income.dividend_code', 64) ->where('yz_member_income.dividend_code', 64)

View File

@ -203,11 +203,11 @@ class IncomeService
const COMMISSION_PERFORMANCE_REDPACK = 186;//分销业绩奖励红包 const COMMISSION_PERFORMANCE_REDPACK = 186;//分销业绩奖励红包
const COMMISSION_PERFORMANCE = 187;//分销业绩奖励 const COMMISSION_PERFORMANCE = 187;//分销业绩奖励
const BALANCE_WITHDRAW_COMMISSION = 188; //余额手续费分红 const BALANCE_WITHDRAW_COMMISSION = 188; //余额手续费分红
const CONTRIBUTION_REWARD = 189;//贡献分红 const CONTRIBUTION_REWARD = 189;//贡献分享分红
const QUICKEN_INCOME_REWARD = 190;//加速收益分红 const QUICKEN_INCOME_REWARD = 190;//加速收益分红
const REWARD_POOL_DIVIDEND = 191;//奖金池分红 const REWARD_POOL_DIVIDEND = 191;//奖金池分红
const STORE_MANAGER = 200;// 经销商店长-店补 const STORE_MANAGER = 200;// 经销商店长-店补
const CULTURAL_SPACE_CONTRIBUTION_BONUS = 201;// 文创空间 - 贡献分红 const CULTURAL_SPACE_CONTRIBUTION_BONUS = 201;// 文创空间 - 贡献分享分红
/** /**
* @param $data 会员idmember_id分红类型dividend_code分红表iddividend_table_id金额amount订单号order_sn详情detail * @param $data 会员idmember_id分红类型dividend_code分红表iddividend_table_id金额amount订单号order_sn详情detail
@ -678,7 +678,7 @@ class IncomeService
self::QUICKEN_INCOME_REWARD => defined('QUICKEN_INCOME_DIY_NAME') ? QUICKEN_INCOME_DIY_NAME : "加速收益分红", self::QUICKEN_INCOME_REWARD => defined('QUICKEN_INCOME_DIY_NAME') ? QUICKEN_INCOME_DIY_NAME : "加速收益分红",
self::REWARD_POOL_DIVIDEND => defined('REWARD_POOL_DIVIDEND_DIY_NAME') ? REWARD_POOL_DIVIDEND_DIY_NAME : "奖金池分红", self::REWARD_POOL_DIVIDEND => defined('REWARD_POOL_DIVIDEND_DIY_NAME') ? REWARD_POOL_DIVIDEND_DIY_NAME : "奖金池分红",
self::STORE_MANAGER => '店补', self::STORE_MANAGER => '店补',
self::CULTURAL_SPACE_CONTRIBUTION_BONUS => '贡献分红', self::CULTURAL_SPACE_CONTRIBUTION_BONUS => '贡献分享分红',
]; ];
if (empty($income_config_desc[$code])) { if (empty($income_config_desc[$code])) {
if ($func = app('ShopAsset')->getData('income')[$code]) { if ($func = app('ShopAsset')->getData('income')[$code]) {

View File

@ -196,19 +196,19 @@ class IncomeController extends ApiController
if($incomeModel){ if($incomeModel){
$incomeModel = $incomeModel->toArray(); $incomeModel = $incomeModel->toArray();
foreach($incomeModel['data'] as &$incomeItem){ foreach($incomeModel['data'] as &$incomeItem){
if($incomeItem['commission_type'] == 1) $incomeItem['type_name'] = '生态发展'; if($incomeItem['commission_type'] == 1) $incomeItem['type_name'] = '销售受益';
else if($incomeItem['team_dividend_type'] == 4) $incomeItem['type_name'] = '生态建设'; else if($incomeItem['team_dividend_type'] == 4) $incomeItem['type_name'] = '生态建设';
else if($incomeItem['team_dividend_type'] == 5) $incomeItem['type_name'] = '生态贡献'; else if($incomeItem['team_dividend_type'] == 5) $incomeItem['type_name'] = '生态贡献';
else if($incomeItem['team_dividend_type'] == 6) $incomeItem['type_name'] = '生态服务'; else if($incomeItem['team_dividend_type'] == 6) $incomeItem['type_name'] = '生态服务';
else if($incomeItem['dividend_code'] == 64 && $incomeItem['shareholder_dividend_type'] == 0) $incomeItem['type_name'] = '权重收益';//'股东分红'; else if($incomeItem['dividend_code'] == 64 && $incomeItem['shareholder_dividend_type'] == 0) $incomeItem['type_name'] = '权重收益';//'股东分红';
else if($incomeItem['shareholder_dividend_type'] == 1) $incomeItem['type_name'] = '权证兑换';//'加权收益'; else if($incomeItem['shareholder_dividend_type'] == 1) $incomeItem['type_name'] = '合伙人受益';//'加权收益';
// switch($incomeItem['incometable_type']){ // switch($incomeItem['incometable_type']){
// // 分销商相关处理 // // 分销商相关处理
// case 'Yunshop\Commission\models\CommissionOrder': // case 'Yunshop\Commission\models\CommissionOrder':
// // 0=普通分销商订单1=文创分销商订单 // // 0=普通分销商订单1=文创分销商订单
// //
// $commissionLevelType = CommissionOrder::where('id',$incomeItem['incometable_id'])->value('level_type'); // $commissionLevelType = CommissionOrder::where('id',$incomeItem['incometable_id'])->value('level_type');
// if($commissionLevelType == 1) $incomeItem['type_name'] = '生态发展'; // if($commissionLevelType == 1) $incomeItem['type_name'] = '销售受益';
// break; // break;
// // 经销商相关处理 // // 经销商相关处理
// case 'Yunshop\TeamDividend\models\TeamDividendModel': // case 'Yunshop\TeamDividend\models\TeamDividendModel':

View File

@ -554,7 +554,7 @@ class IncomeWithdrawController extends ApiController
->get()->toArray(); ->get()->toArray();
} }
else if($income['type'] == 'weight_income'){ else if($income['type'] == 'weight_income'){
// 股东分红 - 加权收益 权证兑换 // 股东分红 - 加权收益 合伙人受益
$amountList = ShareholderDividendModel::getIncome((int)$uid,(int)1,'undrawn') $amountList = ShareholderDividendModel::getIncome((int)$uid,(int)1,'undrawn')
->select(['yz_member_income.id','yz_member_income.amount']) ->select(['yz_member_income.id','yz_member_income.amount'])
->get()->toArray(); ->get()->toArray();
@ -566,7 +566,7 @@ class IncomeWithdrawController extends ApiController
->get()->toArray(); ->get()->toArray();
} }
else if($income['type'] == 'commission_share_reward'){ else if($income['type'] == 'commission_share_reward'){
// 分销商分红 - 生态发展 // 分销商分红 - 销售受益
$amountList = CommissionOrder::getIncome((int)$uid,(int)1,'undrawn') $amountList = CommissionOrder::getIncome((int)$uid,(int)1,'undrawn')
->select(['yz_member_income.id','yz_member_income.amount']) ->select(['yz_member_income.id','yz_member_income.amount'])
->get()->toArray(); ->get()->toArray();

View File

@ -39,9 +39,9 @@ class PluginApplication extends \app\common\services\PluginApplication
'value' => 'withdraw', 'value' => 'withdraw',
], ],
'commission_share_reward' => [ 'commission_share_reward' => [
'title' => '生态发展', 'title' => '销售受益',
'type' => 'commission_share_reward', 'type' => 'commission_share_reward',
'type_name' => '生态发展', 'type_name' => '销售受益',
'class' => 'Yunshop\Commission\models\CommissionOrder', 'class' => 'Yunshop\Commission\models\CommissionOrder',
] ]
]; ];

View File

@ -64,13 +64,13 @@
{{--分享奖励提现设置--}} {{--分享奖励提现设置--}}
<div class="vue-main-title"> <div class="vue-main-title">
<div class="vue-main-title-left"></div> <div class="vue-main-title-left"></div>
<div class="vue-main-title-content">生态发展奖励设置</div> <div class="vue-main-title-content">销售受益奖励设置</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">提现额度</label> <label class="col-xs-12 col-sm-3 col-md-2 control-label">提现额度</label>
<div class="col-sm-9 col-xs-12"> <div class="col-sm-9 col-xs-12">
<input type="text" name="withdraw[commission_share_reward][roll_out_limit]" class="form-control" value="{{$commissionShareReward['roll_out_limit']}}"/> <input type="text" name="withdraw[commission_share_reward][roll_out_limit]" class="form-control" value="{{$commissionShareReward['roll_out_limit']}}"/>
<span class="help-block">当前生态发展奖励达到此额度时才能提现</span> <span class="help-block">当前销售受益奖励达到此额度时才能提现</span>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">

View File

@ -125,7 +125,7 @@ class PluginApplication extends \app\common\services\PluginApplication{
{ {
return [ return [
'withdraw.contribution_bonus' => [ 'withdraw.contribution_bonus' => [
'title' => '贡献分红提现', 'title' => '贡献分享分红提现',
'class' => 'Yunshop\CulturalSpace\admin\widget\CulturalSpaceWithdrawWidget', 'class' => 'Yunshop\CulturalSpace\admin\widget\CulturalSpaceWithdrawWidget',
], ],
'vue-goods.cultural_space' => [ 'vue-goods.cultural_space' => [
@ -147,9 +147,9 @@ class PluginApplication extends \app\common\services\PluginApplication{
public function getIncomeItems(){ public function getIncomeItems(){
return [ return [
'contributionBonus' => [ 'contributionBonus' => [
'title' => '贡献分红', 'title' => '贡献分享分红',
'type' => 'contributionBonus', 'type' => 'contributionBonus',
'type_name' => '贡献分红', 'type_name' => '贡献分享分红',
'class' => 'Yunshop\CulturalSpace\models\ContributionBonusLog', 'class' => 'Yunshop\CulturalSpace\models\ContributionBonusLog',
] ]
]; ];
@ -163,15 +163,15 @@ class PluginApplication extends \app\common\services\PluginApplication{
public function cronConfig(){ public function cronConfig(){
\Event::listen('cron.collectJobs', function () { \Event::listen('cron.collectJobs', function () {
// 每天0点30 执行一次贡献分红处理 // 每天0点30 执行一次贡献分享分红处理
\Cron::add('cultural-space-contribution-bonus', '30 0 * * *', function () { \Cron::add('cultural-space-contribution-bonus', '30 0 * * *', function () {
\Log::debug('--- 文创空间 - 贡献分红 - 开始 ----'); \Log::debug('--- 文创空间 - 贡献分享分红 - 开始 ----');
(new ContributionBonusLog())->bonusInit(); (new ContributionBonusLog())->bonusInit();
return; return;
}); });
// 每天1点30 执行一次贡献分红结算 // 每天1点30 执行一次贡献分享分红结算
\Cron::add('cultural-space-contribution-bonus-settlement', '30 1 * * *', function () { \Cron::add('cultural-space-contribution-bonus-settlement', '30 1 * * *', function () {
\Log::debug('--- 文创空间 - 贡献分红 - 结算开始 ----'); \Log::debug('--- 文创空间 - 贡献分享分红 - 结算开始 ----');
(new ContributionBonusLog())->contributionBonusSettlement(); (new ContributionBonusLog())->contributionBonusSettlement();
return; return;
}); });

View File

@ -25,8 +25,8 @@ class ContributionController extends BaseController{
switch($tabsActive){ switch($tabsActive){
case 'show_detail':$result = ContributionLog::getList($search);break;// 贡献值变更明细 case 'show_detail':$result = ContributionLog::getList($search);break;// 贡献值变更明细
case 'show_group':$result = CulturalSpace::getList($search);break;// 贡献值用户持有统计 case 'show_group':$result = CulturalSpace::getList($search);break;// 贡献值用户持有统计
case 'show_bonus':$result = ContributionBonusLog::getList($search);break;// 贡献分红明细 case 'show_bonus':$result = ContributionBonusLog::getList($search);break;// 贡献分享分红明细
case 'show_cycle':$result = ContributionBonus::getList();break;// 贡献分红周期记录 case 'show_cycle':$result = ContributionBonus::getList();break;// 贡献分享分红周期记录
} }
return $this->successJson('success',[ return $this->successJson('success',[

View File

@ -85,7 +85,7 @@ class IndexController extends ApiController{
->paginate(20) ->paginate(20)
->toArray(); ->toArray();
break; break;
// 贡献分红明细 // 贡献分享分红明细
case 'contribution_bonus': case 'contribution_bonus':
$result = ContributionBonusLog::getIncomeSum($uid) $result = ContributionBonusLog::getIncomeSum($uid)
->leftJoin('yz_cultural_space_contribution_bonus', function ($join) { ->leftJoin('yz_cultural_space_contribution_bonus', function ($join) {
@ -127,7 +127,7 @@ class IndexController extends ApiController{
case 'team_performance': case 'team_performance':
$result = $this->getPerformanceChangeList($uid); $result = $this->getPerformanceChangeList($uid);
break; break;
// 加权收益明细 权证兑换 // 加权收益明细 合伙人受益
case 'weight_income': case 'weight_income':
$result = ShareholderDividendModel::getIncome((int)$uid,(int)1) $result = ShareholderDividendModel::getIncome((int)$uid,(int)1)
->select([ ->select([
@ -139,7 +139,7 @@ class IndexController extends ApiController{
break; break;
// 股权收益明细 // 股权收益明细
case 'shareholding_income':$result = [];break; case 'shareholding_income':$result = [];break;
// 生态发展明细 // 销售受益明细
case 'share_reward': case 'share_reward':
$result = CommissionOrder::getIncome((int)$uid,(int)1) $result = CommissionOrder::getIncome((int)$uid,(int)1)
->select([ ->select([
@ -475,7 +475,7 @@ class IndexController extends ApiController{
$info = []; $info = [];
// 获取相关统计信息 // 获取相关统计信息
switch($typeName){ switch($typeName){
// 生态发展收 // 销售受
case 'ecological': case 'ecological':
/*$amount = Income::uniacid() /*$amount = Income::uniacid()
->select(['yz_member_income.id','yz_member_income.amount']) ->select(['yz_member_income.id','yz_member_income.amount'])
@ -502,12 +502,12 @@ class IndexController extends ApiController{
'service_income' => TeamDividendModel::getTypeTotalIncome((int)$uid,(int)4)->sum('yz_member_income.amount'),// 生态建设 'service_income' => TeamDividendModel::getTypeTotalIncome((int)$uid,(int)4)->sum('yz_member_income.amount'),// 生态建设
'contribution_income' => TeamDividendModel::getTypeTotalIncome((int)$uid,(int)5)->sum('yz_member_income.amount'),// 生态贡献 'contribution_income' => TeamDividendModel::getTypeTotalIncome((int)$uid,(int)5)->sum('yz_member_income.amount'),// 生态贡献
'commission' => TeamDividendModel::getTypeTotalIncome((int)$uid,(int)6)->sum('yz_member_income.amount'),// 生态服务 'commission' => TeamDividendModel::getTypeTotalIncome((int)$uid,(int)6)->sum('yz_member_income.amount'),// 生态服务
'share_reward' => CommissionOrder::getIncome((int)$uid,(int)1,'undrawn')->sum('yz_member_income.amount'),// 生态发展 'share_reward' => CommissionOrder::getIncome((int)$uid,(int)1,'undrawn')->sum('yz_member_income.amount'),// 销售受益
// 'commission' => $poundage,// 总手续费 // 'commission' => $poundage,// 总手续费
// 'withdrawal' => $amount,// 总提现金额 // 'withdrawal' => $amount,// 总提现金额
]; ];
break; break;
// 贡献分 // 贡献分享分
case 'contribution': case 'contribution':
$poundage = Withdraw::uniacid() $poundage = Withdraw::uniacid()
->where('type', 'Yunshop\CulturalSpace\models\ContributionBonusLog') ->where('type', 'Yunshop\CulturalSpace\models\ContributionBonusLog')
@ -515,13 +515,13 @@ class IndexController extends ApiController{
->sum('poundage'); ->sum('poundage');
$info = [ $info = [
'contribution_bonus' => ContributionBonusLog::getIncomeSum($uid)->sum('yz_member_income.amount'),// 贡献分红 'contribution_bonus' => ContributionBonusLog::getIncomeSum($uid)->sum('yz_member_income.amount'),// 贡献分享分红
'contribution_bonus_withdrawn' => ContributionBonusLog::getIncomeSum($uid,'withdrawn')->sum('yz_member_income.amount'),// 已提现 'contribution_bonus_withdrawn' => ContributionBonusLog::getIncomeSum($uid,'withdrawn')->sum('yz_member_income.amount'),// 已提现
'contribution_bonus_undrawn' => ContributionBonusLog::getIncomeSum($uid,'undrawn')->sum('yz_member_income.amount'),// 可提现 'contribution_bonus_undrawn' => ContributionBonusLog::getIncomeSum($uid,'undrawn')->sum('yz_member_income.amount'),// 可提现
'poundage' => $poundage,// 总服务费 'poundage' => $poundage,// 总服务费
]; ];
break; break;
// 股权收益 权证兑换 // 股权收益 合伙人受益
case 'shareholding': case 'shareholding':
$poundage = Income::uniacid() $poundage = Income::uniacid()
@ -537,7 +537,7 @@ class IndexController extends ApiController{
$info = [ $info = [
'weight_income' => ShareholderDividendModel::getIncome((int)$uid,(int)1)->sum('yz_member_income.amount'),// 加权收益 权证兑换 'weight_income' => ShareholderDividendModel::getIncome((int)$uid,(int)1)->sum('yz_member_income.amount'),// 加权收益 合伙人受益
'weight_income_withdrawn' => ShareholderDividendModel::getIncome((int)$uid,(int)1,'withdrawn')->sum('yz_member_income.amount'),// 已提现 'weight_income_withdrawn' => ShareholderDividendModel::getIncome((int)$uid,(int)1,'withdrawn')->sum('yz_member_income.amount'),// 已提现
'weight_income_undrawn' => ShareholderDividendModel::getIncome((int)$uid,(int)1,'undrawn')->sum('yz_member_income.amount'),// 可提现 'weight_income_undrawn' => ShareholderDividendModel::getIncome((int)$uid,(int)1,'undrawn')->sum('yz_member_income.amount'),// 可提现
'poundage' => $poundage,// 总服务费 'poundage' => $poundage,// 总服务费
@ -560,7 +560,7 @@ class IndexController extends ApiController{
$result = []; $result = [];
// 获取相关统计信息 // 获取相关统计信息
switch($typeName){ switch($typeName){
// 生态发展收 // 销售受
case 'ecological': case 'ecological':
$result = Income::uniacid() $result = Income::uniacid()
->select(['yz_withdraw.amounts','yz_withdraw.id','yz_withdraw.created_at','yz_withdraw.actual_amounts','yz_withdraw.poundage','yz_withdraw.status']) ->select(['yz_withdraw.amounts','yz_withdraw.id','yz_withdraw.created_at','yz_withdraw.actual_amounts','yz_withdraw.poundage','yz_withdraw.status'])
@ -576,7 +576,7 @@ class IndexController extends ApiController{
->paginate(20) ->paginate(20)
->toArray(); ->toArray();
break; break;
// 贡献分 // 贡献分享分
case 'contribution': case 'contribution':
$result = Withdraw::uniacid() $result = Withdraw::uniacid()
->select(['id','amounts','created_at','actual_amounts','poundage','status']) ->select(['id','amounts','created_at','actual_amounts','poundage','status'])

View File

@ -21,7 +21,7 @@ class ContributionBonusLog extends BaseModel{
]; ];
protected $fillable = ['uniacid','uid','total_money','money','total_contribution','hold_contribution','proportion','created_at']; protected $fillable = ['uniacid','uid','total_money','money','total_contribution','hold_contribution','proportion','created_at'];
// 贡献分红相关内容 // 贡献分享分红相关内容
private $orderTotalMoney = 0;// 周期订单总金额 private $orderTotalMoney = 0;// 周期订单总金额
private $bonusTotalMoney = 0;// 分红总销售额(周期订单总金额的N%) private $bonusTotalMoney = 0;// 分红总销售额(周期订单总金额的N%)
@ -53,7 +53,7 @@ class ContributionBonusLog extends BaseModel{
return $list ? $list->toArray() : []; return $list ? $list->toArray() : [];
} }
/** /**
* Common: 获取用户贡献分红 * Common: 获取用户贡献分享分红
* Author: wu-hui * Author: wu-hui
* Time: 2023/11/20 16:06 * Time: 2023/11/20 16:06
* @param int $uid 用户id * @param int $uid 用户id
@ -75,7 +75,7 @@ class ContributionBonusLog extends BaseModel{
/** /**
* Common: 贡献分红 - 分红处理开始 * Common: 贡献分享分红 - 分红处理开始
* Author: wu-hui * Author: wu-hui
* Time: 2023/11/03 15:09 * Time: 2023/11/03 15:09
*/ */
@ -95,15 +95,15 @@ class ContributionBonusLog extends BaseModel{
if ($isRun) $this->bonusHandle($set,$startTime,$endTime); if ($isRun) $this->bonusHandle($set,$startTime,$endTime);
} }
\Log::debug('--- 文创空间 - 贡献分红 - 结束 end----'); \Log::debug('--- 文创空间 - 贡献分享分红 - 结束 end----');
DB::commit(); DB::commit();
}catch(\Exception $e){ }catch(\Exception $e){
\Log::debug('--- 文创空间 - 贡献分红 - 错误:'.$e->getMessage()); \Log::debug('--- 文创空间 - 贡献分享分红 - 错误:'.$e->getMessage());
DB::rollBack(); DB::rollBack();
} }
} }
/** /**
* Common: 贡献分红 - 判断是否允许继续执行 * Common: 贡献分享分红 - 判断是否允许继续执行
* Author: wu-hui * Author: wu-hui
* Time: 2023/11/03 13:43 * Time: 2023/11/03 13:43
* @param $set * @param $set
@ -150,7 +150,7 @@ class ContributionBonusLog extends BaseModel{
return true; return true;
} }
/** /**
* Common: 贡献分红 - 处理每个站点所有用户的分红 * Common: 贡献分享分红 - 处理每个站点所有用户的分红
* Author: wu-hui * Author: wu-hui
* Time: 2023/11/03 15:09 * Time: 2023/11/03 15:09
* @param $set * @param $set
@ -181,7 +181,7 @@ class ContributionBonusLog extends BaseModel{
$time = time(); $time = time();
$uniacid = \YunShop::app()->uniacid; $uniacid = \YunShop::app()->uniacid;
foreach($userList as $userId => $contributionValue){ foreach($userList as $userId => $contributionValue){
// 添加贡献分红信息记录 这里必须进行100的偏移计算 // 添加贡献分享分红信息记录 这里必须进行100的偏移计算
$radio = (float)sprintf("%.2f",$contributionValue / $totalContribution * 100);// 佣金比例 $radio = (float)sprintf("%.2f",$contributionValue / $totalContribution * 100);// 佣金比例
$money = (float)sprintf("%.2f",$this->bonusTotalMoney * $radio / 100);// 实际获得佣金 $money = (float)sprintf("%.2f",$this->bonusTotalMoney * $radio / 100);// 实际获得佣金
if($money > 0){ if($money > 0){
@ -202,7 +202,7 @@ class ContributionBonusLog extends BaseModel{
self::insert($logInsertData); self::insert($logInsertData);
} }
/** /**
* Common: 贡献分红 - 结算 * Common: 贡献分享分红 - 结算
* Author: wu-hui * Author: wu-hui
* Time: 2023/11/03 15:24 * Time: 2023/11/03 15:24
*/ */
@ -244,7 +244,7 @@ class ContributionBonusLog extends BaseModel{
} }
DB::commit(); DB::commit();
}catch(\Exception $e){ }catch(\Exception $e){
\Log::debug('--- 文创空间 - 贡献分红结算 - 错误:'.$e->getMessage()); \Log::debug('--- 文创空间 - 贡献分享分红结算 - 错误:'.$e->getMessage());
DB::rollBack(); DB::rollBack();
} }
} }

View File

@ -79,16 +79,18 @@ class CulturalSpace extends BaseModel
try { try {
$set = Setting::get('plugin.cultural_space_set'); $set = Setting::get('plugin.cultural_space_set');
if ($set['is_give_contribution'] != 1 || (float)$set['contribution_ratio'] <= 0) throw new \Exception('文创空间 - 购买商品奖励贡献值 - 未开启贡献值奖励或者奖励比例为0'); if ($set['is_give_contribution'] != 1 || (float)$set['contribution_ratio'] <= 0) throw new \Exception('文创空间 - 购买商品奖励贡献值 - 未开启贡献值奖励或者奖励比例为0');
// 获取直推上级id && 获取订单商品信息 // 获取订单商品信息
$parentUid = (int)MemberParent::getParentId($uid);
$orderGoodsList = (array)$this->getGoodsModel($orderId) $orderGoodsList = (array)$this->getGoodsModel($orderId)
->where('yz_goods_cultural_space.is_give_contribution', 1) ->where('yz_goods_cultural_space.is_give_contribution', 1)
->get() ->get()
->makeHidden(['buttons', 'after_sales', 'order']) ->makeHidden(['buttons', 'after_sales', 'order'])
->toArray(); ->toArray();
if (count($orderGoodsList) <= 0) throw new \Exception('文创空间 - 购买商品奖励贡献值 - 无奖励商品信息'); if (count($orderGoodsList) <= 0) throw new \Exception('文创空间 - 购买商品奖励贡献值 - 无奖励商品信息');
// 获取文创空间用户信息 // 获取文创空间用户信息 todo2023-12-15 修改,赠送上级,本人不在获得
$memberList = $parentUid <= 0 ? $this->getCulturalSpace([$uid]) : $this->getCulturalSpace([$uid, $parentUid]); $parentUid = (int)MemberParent::getParentId($uid);// 获取直推上级id
if ($parentUid <= 0) throw new \Exception('文创空间 - 购买商品奖励贡献值 - 无上级信息');
$memberList = $this->getCulturalSpace([$parentUid]);
// $memberList = $parentUid <= 0 ? $this->getCulturalSpace([$uid]) : $this->getCulturalSpace([$uid, $parentUid]);
$userName = Member::getMemberById($uid, ['realname', 'nickname'])->username ?? ''; $userName = Member::getMemberById($uid, ['realname', 'nickname'])->username ?? '';
// 循环商品处理奖励贡献值 // 循环商品处理奖励贡献值
$changeList = []; $changeList = [];
@ -330,7 +332,7 @@ class CulturalSpace extends BaseModel
// 贡献收益(生态贡献) 经销商 生态贡献 奖励 // 贡献收益(生态贡献) 经销商 生态贡献 奖励
$contributionIncome = TeamDividendModel::getTypeTotalIncome((int)$uid,(int)5)->sum('yz_member_income.amount'); $contributionIncome = TeamDividendModel::getTypeTotalIncome((int)$uid,(int)5)->sum('yz_member_income.amount');
// 贡献分红 // 贡献分享分红
$contributionBonus = ContributionBonusLog::getIncomeSum($uid)->sum('yz_member_income.amount'); $contributionBonus = ContributionBonusLog::getIncomeSum($uid)->sum('yz_member_income.amount');
// 获取文创空间用户信息 // 获取文创空间用户信息
$culturalSpace = CulturalSpace::uniacid()->where('uid',$uid)->select(['uid','contribution','voucher_number'])->first(); $culturalSpace = CulturalSpace::uniacid()->where('uid',$uid)->select(['uid','contribution','voucher_number'])->first();
@ -341,7 +343,7 @@ class CulturalSpace extends BaseModel
$legumesIncome = sprintf("%.2f",$culturalSpace['voucher_number'] * $exchangeRate); $legumesIncome = sprintf("%.2f",$culturalSpace['voucher_number'] * $exchangeRate);
// 获取小区业绩(去除最大的线的业绩)和团队总业绩 // 获取小区业绩(去除最大的线的业绩)和团队总业绩
$teamAmount = $this->getTeamOrderAmount($uid); $teamAmount = $this->getTeamOrderAmount($uid);
// 获取加权收益 权证兑换 // 获取加权收益 合伙人受益
$weightIncome = ShareholderDividendModel::getIncome((int)$uid,(int)1)->sum('yz_member_income.amount'); $weightIncome = ShareholderDividendModel::getIncome((int)$uid,(int)1)->sum('yz_member_income.amount');
// 分享奖励 // 分享奖励
$shareReward = CommissionOrder::getIncome((int)$uid,(int)1,'undrawn')->sum('yz_member_income.amount'); $shareReward = CommissionOrder::getIncome((int)$uid,(int)1,'undrawn')->sum('yz_member_income.amount');
@ -350,17 +352,17 @@ class CulturalSpace extends BaseModel
$list = [ $list = [
'service_income' => ['key_name' => 'service_income','title' => $serviceIncomeTitle ?? '服务收益','num' => $serviceIncome,'sort' => 0], 'service_income' => ['key_name' => 'service_income','title' => $serviceIncomeTitle ?? '服务收益','num' => $serviceIncome,'sort' => 0],
'contribution_income' => ['key_name' => 'contribution_income','title' => '生态贡献','num' => $contributionIncome,'sort' => 1], 'contribution_income' => ['key_name' => 'contribution_income','title' => '生态贡献','num' => $contributionIncome,'sort' => 1],
'contribution_bonus' => ['key_name' => 'contribution_bonus','title' => '贡献分红','num' => $contributionBonus,'sort' => 2], 'contribution_bonus' => ['key_name' => 'contribution_bonus','title' => '贡献分享分红','num' => $contributionBonus,'sort' => 2],
'legumes' => ['key_name' => 'legumes','title' => '文创豆','num' => $culturalSpace['voucher_number'],'sort' => 3], 'legumes' => ['key_name' => 'legumes','title' => '文创豆','num' => $culturalSpace['voucher_number'],'sort' => 3],
'legumes_income' => ['key_name' => 'legumes_income','title' => '文创豆收益','num' => $legumesIncome,'sort' => 4], 'legumes_income' => ['key_name' => 'legumes_income','title' => '文创豆收益','num' => $legumesIncome,'sort' => 4],
'contribution_value' => ['key_name' => 'contribution_value','title' => '贡献值','num' => $culturalSpace['contribution'],'sort' => 5], 'contribution_value' => ['key_name' => 'contribution_value','title' => '贡献值','num' => $culturalSpace['contribution'],'sort' => 5],
'area_performance' => ['key_name' => 'area_performance','title' => '小区业绩','num' => $teamAmount['area_amount'],'sort' => 7], 'area_performance' => ['key_name' => 'area_performance','title' => '小区业绩','num' => $teamAmount['area_amount'],'sort' => 7],
'team_performance' => ['key_name' => 'team_performance','title' => '团队总业绩','num' => $teamAmount['team_amount'],'sort' => 8], 'team_performance' => ['key_name' => 'team_performance','title' => '团队总业绩','num' => $teamAmount['team_amount'],'sort' => 8],
'weight_income' => ['key_name' => 'weight_income','title' => '权证兑换','num' => $weightIncome,'sort' => 9], 'weight_income' => ['key_name' => 'weight_income','title' => '合伙人受益','num' => $weightIncome,'sort' => 9],
'shareholding_income' => ['key_name' => 'shareholding_income','title' => '股权收益','num' => 0,'sort' => 10], 'shareholding_income' => ['key_name' => 'shareholding_income','title' => '股权收益','num' => 0,'sort' => 10],
'share_reward' => ['key_name' => 'share_reward','title' => '生态发展','num' => $shareReward,'sort' => 11], 'share_reward' => ['key_name' => 'share_reward','title' => '销售受益','num' => $shareReward,'sort' => 11],
]; ];
// 合伙人等级增加显示权证兑换,不显示服务收益、贡献收益、贡献值分红 // 合伙人等级增加显示合伙人受益,不显示服务收益、贡献收益、贡献分享分红
// if($isPartner) unset($list['service_income'],$list['contribution_income'],$list['contribution_bonus']); // if($isPartner) unset($list['service_income'],$list['contribution_income'],$list['contribution_bonus']);
// else unset($list['weight_income']); // else unset($list['weight_income']);
// 排序 // 排序

View File

@ -70,7 +70,7 @@
<div class="form-item_tips">订单实际支付的N%奖励给用户及直推上级作为贡献值。0或者空则无贡献值奖励</div> <div class="form-item_tips">订单实际支付的N%奖励给用户及直推上级作为贡献值。0或者空则无贡献值奖励</div>
</el-form-item> </el-form-item>
<el-form-item label="分红总额比例" prop="contribution_bonus_ratio"> <el-form-item label="分红总额比例" prop="contribution_bonus_ratio">
<el-input type="number" placeholder="贡献分红总额比例" v-model.number="set.contribution_bonus_ratio" step="0.01"> <el-input type="number" placeholder="贡献分享分红总额比例" v-model.number="set.contribution_bonus_ratio" step="0.01">
<template slot="append">%</template> <template slot="append">%</template>
</el-input> </el-input>
<div class="form-item_tips">周期销售额的N%用作分红总金额根据每个人当前贡献值比例进行分红0或者空则无贡献值奖励</div> <div class="form-item_tips">周期销售额的N%用作分红总金额根据每个人当前贡献值比例进行分红0或者空则无贡献值奖励</div>

View File

@ -32,9 +32,9 @@ class PluginApplication extends \app\common\services\PluginApplication
'class' => 'Yunshop\ShareholderDividend\models\ShareholderDividendModel', 'class' => 'Yunshop\ShareholderDividend\models\ShareholderDividendModel',
], ],
'weight_income' => [ 'weight_income' => [
'title' => '权证兑换',// 加权收益 'title' => '合伙人受益',// 加权收益
'type' => 'weight_income', 'type' => 'weight_income',
'type_name' => '权证兑换', 'type_name' => '合伙人受益',
'class' => 'Yunshop\ShareholderDividend\models\ShareholderDividendModel', 'class' => 'Yunshop\ShareholderDividend\models\ShareholderDividendModel',
] ]

View File

@ -54,7 +54,7 @@ class ShareholderDividendModel extends BackendModel
* Author: wu-hui * Author: wu-hui
* Time: 2023/11/22 10:06 * Time: 2023/11/22 10:06
* @param int $uid 用户id * @param int $uid 用户id
* @param int $incomeType 收益类型0=股权分红1=加权收益(权证兑换) * @param int $incomeType 收益类型0=股权分红1=加权收益(合伙人受益)
* @param string $incomeStatus all=全部收益undrawn=未提现收益withdrawn=已提现收益 * @param string $incomeStatus all=全部收益undrawn=未提现收益withdrawn=已提现收益
* @return mixed * @return mixed
*/ */

View File

@ -351,7 +351,7 @@ class TimedTaskService
foreach ($teamLevels as $teamLevel) { foreach ($teamLevels as $teamLevel) {
// 判断:结算方式是否符合条件 // 判断:结算方式是否符合条件
$levelSettlementType = (int)$this->set['level_settlement_type']['level_' . $teamLevel['id']];// 结算方式 0=周期1=订单支付后 $levelSettlementType = (int)$this->set['level_settlement_type']['level_' . $teamLevel['id']];// 结算方式 0=周期1=订单支付后
$incomeType = (int)$this->set['income_type']['level_' . $teamLevel['id']];// 收益类型 0=股东分红1=加权收益(权证兑换) $incomeType = (int)$this->set['income_type']['level_' . $teamLevel['id']];// 收益类型 0=股东分红1=加权收益(合伙人受益)
$rate = (float)$this->set['level_rate']['level_' . $teamLevel['id']]; // 等级分红比例 $rate = (float)$this->set['level_rate']['level_' . $teamLevel['id']]; // 等级分红比例
if ($rate > 0 && (($settlementType == 'cycle' && $levelSettlementType == 0) || ($settlementType == 'order' && $levelSettlementType == 1))) { if ($rate > 0 && (($settlementType == 'cycle' && $levelSettlementType == 0) || ($settlementType == 'order' && $levelSettlementType == 1))) {
$levelBonusType = (float)$this->set['level_bonus_type']['level_' . $teamLevel['id']]; // 分红方式0=按权重值比例1=平均分 $levelBonusType = (float)$this->set['level_bonus_type']['level_' . $teamLevel['id']]; // 分红方式0=按权重值比例1=平均分

View File

@ -174,7 +174,7 @@
<input type="radio" name="setdata[income_type][level_{{$lelve->id}}]" value="0" @if ((int)$set['income_type']['level_'.$lelve->id] != 1) checked @endif> 股东分红 <input type="radio" name="setdata[income_type][level_{{$lelve->id}}]" value="0" @if ((int)$set['income_type']['level_'.$lelve->id] != 1) checked @endif> 股东分红
</label> </label>
<label class="radio-inline"> <label class="radio-inline">
<input type="radio" name="setdata[income_type][level_{{$lelve->id}}]" value="1" @if ((int)$set['income_type']['level_'.$lelve->id] == 1) checked @endif> {{--加权收益--}}权证兑换 <input type="radio" name="setdata[income_type][level_{{$lelve->id}}]" value="1" @if ((int)$set['income_type']['level_'.$lelve->id] == 1) checked @endif> {{--加权收益--}}合伙人受益
</label> </label>
</div> </div>
</div> </div>

View File

@ -49,10 +49,10 @@
</div> </div>
</div> </div>
</div> </div>
{{--权证兑换提现设置--}} {{--合伙人受益提现设置--}}
<div class="vue-main-title"> <div class="vue-main-title">
<div class="vue-main-title-left"></div> <div class="vue-main-title-left"></div>
<div class="vue-main-title-content">权证兑换提现设置</div> <div class="vue-main-title-content">合伙人受益提现设置</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">提现额度</label> <label class="col-xs-12 col-sm-3 col-md-2 control-label">提现额度</label>

View File

@ -588,7 +588,7 @@ class WeightValue extends BaseModel{
public function getStatistics($uid,$teamLevelId){ public function getStatistics($uid,$teamLevelId){
// 获取相关统计信息 // 获取相关统计信息
[$directPush,$recommendAgent] = $this->getCommissionGive($uid); [$directPush,$recommendAgent] = $this->getCommissionGive($uid);
// 获取权重收益(当前等级相关的股东分红) 收益类型0=股权分红1=加权收益(权证兑换) // 获取权重收益(当前等级相关的股东分红) 收益类型0=股权分红1=加权收益(合伙人受益)
$weightIncome = ShareholderDividendModel::uniacid() $weightIncome = ShareholderDividendModel::uniacid()
->where('member_id',$uid) ->where('member_id',$uid)
->where('team_level',$teamLevelId) ->where('team_level',$teamLevelId)