diff --git a/plugins/commission/src/services/UpgradeService.php b/plugins/commission/src/services/UpgradeService.php index 675c3494..abfea4b6 100644 --- a/plugins/commission/src/services/UpgradeService.php +++ b/plugins/commission/src/services/UpgradeService.php @@ -224,7 +224,14 @@ class UpgradeService{ foreach($subIds as $subUid){ $lineAllUid = MemberChild::uniacid()->where('member_id',$subUid)->pluck('child_id')->toArray(); $lineAllUid[] = $subUid; - $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); + $subPerformance[$subUid] = 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',$lineAllUid) + ->where('yz_order.status','>',0) + ->where('yz_goods_cultural_space.is_open',$levelItem['level_type'] == 1 ? 1 : 0) + ->sum('yz_order_goods.payment_amount'); + // $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); } // 计算团队总业绩 判断:是否去除最大业绩 $maxAmount = 0; diff --git a/plugins/commission/src/services/UpgrateConditionsService.php b/plugins/commission/src/services/UpgrateConditionsService.php index 75590863..3fc468b6 100644 --- a/plugins/commission/src/services/UpgrateConditionsService.php +++ b/plugins/commission/src/services/UpgrateConditionsService.php @@ -458,7 +458,14 @@ class UpgrateConditionsService foreach($subIds as $subUid){ $lineAllUid = MemberChild::uniacid()->where('member_id',$subUid)->pluck('child_id')->toArray(); $lineAllUid[] = $subUid; - $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); + $subPerformance[$subUid] = 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',$lineAllUid) + ->where('yz_order.status','>',0) + ->where('yz_goods_cultural_space.is_open',$level['level_type'] == 1 ? 1 : 0) + ->sum('yz_order_goods.payment_amount'); + // $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); } // 计算团队总业绩 判断:是否去除最大业绩 $maxAmount = 0; diff --git a/plugins/cultural-space/src/models/CulturalSpace.php b/plugins/cultural-space/src/models/CulturalSpace.php index 18ba727c..95d2607e 100644 --- a/plugins/cultural-space/src/models/CulturalSpace.php +++ b/plugins/cultural-space/src/models/CulturalSpace.php @@ -386,7 +386,14 @@ class CulturalSpace extends BaseModel foreach($subIds as $subUid){ $lineAllUid = MemberChild::uniacid()->where('member_id',$subUid)->pluck('child_id')->toArray(); $lineAllUid[] = $subUid; - $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); + $subPerformance[$subUid] = 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',$lineAllUid) + ->where('yz_order.status','>',0) + ->where('yz_goods_cultural_space.is_open',1) + ->sum('yz_order_goods.payment_amount'); + // $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); } // 计算业绩 小区业绩 && 团队总业绩 $teamAmount = (float)sprintf("%.2f",array_sum($subPerformance));// 总业绩 diff --git a/plugins/team-dividend/src/api/IndexController.php b/plugins/team-dividend/src/api/IndexController.php index d37095ed..9d2c5fb9 100644 --- a/plugins/team-dividend/src/api/IndexController.php +++ b/plugins/team-dividend/src/api/IndexController.php @@ -296,7 +296,14 @@ class IndexController extends ApiController foreach($subIds as $subUid){ $lineAllUid = MemberChild::uniacid()->where('member_id',$subUid)->pluck('child_id')->toArray(); $lineAllUid[] = $subUid; - $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); + $subPerformance[$subUid] = 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',$lineAllUid) + ->where('yz_order.status','>',0) + ->where('yz_goods_cultural_space.is_open',0) + ->sum('yz_order_goods.payment_amount'); + // $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',0)->sum('yz_order.price'); } // 计算业绩 $teamAmount = (float)sprintf("%.2f",array_sum($subPerformance));// 总业绩 diff --git a/plugins/team-dividend/src/jobs/NewUpgrateJob.php b/plugins/team-dividend/src/jobs/NewUpgrateJob.php index 8528438b..13945db8 100644 --- a/plugins/team-dividend/src/jobs/NewUpgrateJob.php +++ b/plugins/team-dividend/src/jobs/NewUpgrateJob.php @@ -385,7 +385,7 @@ class NewUpgrateJob implements ShouldQueue $typeName = 'level_' . $level_id . '_' . $parase[1]['level'][$level_id]; } // 升级类 - $upgrateService = new UpgrateConditionService($agent['uid'], $this->setting, $parase[1], $this->uniacid, $typeName, $order_status, $this->order, $this->uplogService); + $upgrateService = new UpgrateConditionService($agent['uid'], $this->setting, $parase[1], $this->uniacid, $typeName, $order_status, $this->order, $this->uplogService, 1); // 升级方法 \Log::debug('===123分组方法名:' . $typeName); $func = $this->getFunctionName($typeName); @@ -448,7 +448,7 @@ class NewUpgrateJob implements ShouldQueue // \Log::debug('经销商升级 - 继续 - 循环体:',$upgradeOnly); foreach ($upgradeOnly as $upgrade => $only_item) { // 升级类 - $upgrateService = new UpgrateConditionService($agent['uid'], $this->setting, $parase[1], $this->uniacid, $upgrade, $order_status, $this->order, $this->uplogService); + $upgrateService = new UpgrateConditionService($agent['uid'], $this->setting, $parase[1], $this->uniacid, $upgrade, $order_status, $this->order, $this->uplogService, 1); // 升级方法 \Log::debug('===123单个方法名:' . $upgrade); $func = $this->getFunctionName($upgrade); diff --git a/plugins/team-dividend/src/services/upgrate/UpgrateConditionService.php b/plugins/team-dividend/src/services/upgrate/UpgrateConditionService.php index 1a964677..82ed2b34 100644 --- a/plugins/team-dividend/src/services/upgrate/UpgrateConditionService.php +++ b/plugins/team-dividend/src/services/upgrate/UpgrateConditionService.php @@ -45,7 +45,9 @@ class UpgrateConditionService{ private $order; private $uplogService; public $team_dividend_level_list; - public function __construct($uid,$set,$upgradeParase,$uniacid,$typeName,$order_status,$order,$uplogService){ + public $levelType; + + public function __construct($uid,$set,$upgradeParase,$uniacid,$typeName,$order_status,$order,$uplogService, $levelType = 0){ $this->uid = $uid; $this->set = $set; $this->upgradeParase = $upgradeParase; @@ -53,6 +55,7 @@ class UpgrateConditionService{ $this->order_status = $order_status; $this->order = $order; \YunShop::app()->uniacid = $uniacid; + $this->levelType = $levelType; $this->uplogService = $uplogService; } private function addLogChild($result,$condition = NULL){ @@ -469,7 +472,14 @@ class UpgrateConditionService{ foreach($subIds as $subUid){ $lineAllUid = MemberChild::uniacid()->where('member_id',$subUid)->pluck('child_id')->toArray(); $lineAllUid[] = $subUid; - $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',$this->order_status)->sum($column); + $subPerformance[$subUid] = 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',$lineAllUid) + ->where('yz_order.status','>=',$this->order_status) + ->where('yz_goods_cultural_space.is_open', $this->levelType == 1 ? 1 : 0) + ->sum(Setting::get('plugin.team_dividend.level_up_choose') == 1 ? 'yz_order_goods.goods_price' : 'yz_order_goods.payment_amount'); + // $subPerformance[$subUid] = Order::whereIn('uid',$lineAllUid)->where('status','>=',$this->order_status)->sum($column); } // 计算团队总业绩 判断:是否去除最大业绩 $maxAmount = 0; diff --git a/plugins/weight-value/src/models/WeightValue.php b/plugins/weight-value/src/models/WeightValue.php index 1b667b97..46c79858 100644 --- a/plugins/weight-value/src/models/WeightValue.php +++ b/plugins/weight-value/src/models/WeightValue.php @@ -704,7 +704,7 @@ class WeightValue extends BaseModel{ $subUserIds = MemberChildren::getTeamModel($uid)->pluck('yz_member_children.child_id')->toArray(); if(count($subUserIds) > 0){ $orderInfo = Order::uniacid() - ->select(DB::raw('sum(ims_yz_order.price) as total_price,count(ims_yz_order.id) as total')) + ->select(DB::raw('sum(ims_yz_order_goods.payment_amount) as total_price,count(ims_yz_order.id) as total')) ->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',$subUserIds)