|
|
@@ -207,11 +207,12 @@ class TaskPartnerProfits
|
|
207
|
207
|
$subordinatesBatch = $this->getSubordinatesBatch($spreadUserUidList[$v]);
|
|
208
|
208
|
// 6.2.3 获取所有部门(下线)的PV值
|
|
209
|
209
|
foreach ($subordinatesBatch as $k1 => $v1) {
|
|
|
210
|
+ $partnerProfitsPvListByUid[$v][$k1] = 0;
|
|
210
|
211
|
// 获取当前下线的PV值, 忽略测试人员的账号
|
|
211
|
212
|
$pv = $this->getPv(array_merge($v1, [$k1]), $removeUserIdList);
|
|
212
|
|
- if (!empty($pv)) {
|
|
213
|
|
- $partnerProfitsPvListByUid[$v][$k1] = $pv;
|
|
214
|
|
- }
|
|
|
213
|
+ $partnerProfitsPvListByUid[$v][$k1] += $pv;
|
|
|
214
|
+ $pvNew = $this->getPvNew(array_merge($v1, [$k1]), $removeUserIdList);
|
|
|
215
|
+ $partnerProfitsPvListByUid[$v][$k1] += $pvNew;
|
|
215
|
216
|
}
|
|
216
|
217
|
|
|
217
|
218
|
// 6.2.4 将PV值进行记录 以便后续计算
|
|
|
@@ -595,6 +596,44 @@ class TaskPartnerProfits
|
|
595
|
596
|
}
|
|
596
|
597
|
return $money1180Sum + $money11800Sum + $money10620Sum + $money9440Sum + $money2360Sum + (floor($otherMoneySum * 70) / 100);
|
|
597
|
598
|
}
|
|
|
599
|
+ // 获取用户PV值
|
|
|
600
|
+ public function getPvNew($userIdList, $removeUserIdList = [])
|
|
|
601
|
+ {
|
|
|
602
|
+ if (!empty($removeUserIdList)) {
|
|
|
603
|
+ $userIdList = array_values(array_diff($userIdList, $removeUserIdList));
|
|
|
604
|
+ }
|
|
|
605
|
+ // 查询指定时间区间内的所有订单,并排除 pay_time 为 NULL 的订单
|
|
|
606
|
+ $orders = Db::name("store_order")
|
|
|
607
|
+ ->where('mer_id', 496)
|
|
|
608
|
+ ->whereIn('uid', $userIdList)
|
|
|
609
|
+ ->whereIn('status', [0, 1, 2, 3]) // TODO 之前橙汁先生 这么定义的,感觉有问题,也就是现在 会员专区 下单 不允许退款,不然肯定有问题 注意调整
|
|
|
610
|
+ ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
|
|
|
611
|
+ ->whereNotNull("pay_time") // 排除 pay_time 为 NULL 的订单
|
|
|
612
|
+ ->select();
|
|
|
613
|
+
|
|
|
614
|
+ // 计算总业绩
|
|
|
615
|
+ $totalPv = 0;
|
|
|
616
|
+ foreach ($orders as $order) {
|
|
|
617
|
+ switch ($order['total_price']) {
|
|
|
618
|
+ case 1180:
|
|
|
619
|
+ $totalPv += 700;
|
|
|
620
|
+ break;
|
|
|
621
|
+ case 11800:
|
|
|
622
|
+ $totalPv += 7000;
|
|
|
623
|
+ break;
|
|
|
624
|
+ case 10620:
|
|
|
625
|
+ $totalPv += 6300;
|
|
|
626
|
+ break;
|
|
|
627
|
+ case 2360:
|
|
|
628
|
+ $totalPv += 1400;
|
|
|
629
|
+ break;
|
|
|
630
|
+ case 9440:
|
|
|
631
|
+ $totalPv += 5600;
|
|
|
632
|
+ break;
|
|
|
633
|
+ }
|
|
|
634
|
+ }
|
|
|
635
|
+ return $totalPv;
|
|
|
636
|
+ }
|
|
598
|
637
|
|
|
599
|
638
|
//发放佣金 示例: $this->change_user_log($v,'amount',1,$all_award,"member_award","星级分红入账"."-".$value['title']);//释放佣金
|
|
600
|
639
|
function change_user_log($user_id, $type, $change_status, $money, $routine, $remark = "", $is_admin = 1, $appoint_money = 0)
|