优化:业绩相关统计 升级业绩相关统计 区分文创空间业绩和普通业绩

This commit is contained in:
wuhui 2023-12-08 23:10:07 +08:00
parent 210d1a88a9
commit 1db0d0fe2d
7 changed files with 47 additions and 9 deletions

View File

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

View File

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

View File

@ -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));// 总业绩

View File

@ -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));// 总业绩

View File

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

View File

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

View File

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