|
|
@@ -3365,11 +3365,11 @@ class UserRepository extends BaseRepository
|
|
3365
|
3365
|
* @throws DbException
|
|
3366
|
3366
|
* @throws ModelNotFoundException
|
|
3367
|
3367
|
*/
|
|
3368
|
|
- public function getUidContributeListBySpreadUidList(array $uidList)
|
|
|
3368
|
+ public function getUidContributeListByLevelIdList(array $uidList)
|
|
3369
|
3369
|
{
|
|
3370
|
3370
|
return Db::name("user")
|
|
3371
|
|
- ->whereIn("spread_uid", $uidList)
|
|
3372
|
|
- ->field("uid, contribute, spread_uid")
|
|
|
3371
|
+ ->whereIn("level_id", $uidList)
|
|
|
3372
|
+ ->field("uid, contribute, level_id")
|
|
3373
|
3373
|
->select()
|
|
3374
|
3374
|
->toArray();
|
|
3375
|
3375
|
}
|
|
|
@@ -3420,7 +3420,7 @@ class UserRepository extends BaseRepository
|
|
3420
|
3420
|
foreach(array_chunk($currentLevelIds, $chunkSize) as $chunk) {
|
|
3421
|
3421
|
$subordinatesChunk = Db::name('user')
|
|
3422
|
3422
|
->field('uid') // 只需要下级的uid
|
|
3423
|
|
- ->whereIn('spread_uid', $chunk) // spread_uid 在当前层级用户块中
|
|
|
3423
|
+ ->whereIn('level_id', $chunk) //level_id 在当前层级用户块中
|
|
3424
|
3424
|
->where('status', 1)
|
|
3425
|
3425
|
->select()
|
|
3426
|
3426
|
->toArray();
|
|
|
@@ -3562,40 +3562,40 @@ class UserRepository extends BaseRepository
|
|
3562
|
3562
|
];
|
|
3563
|
3563
|
}
|
|
3564
|
3564
|
}
|
|
3565
|
|
- // 老订单 产生的贡献值 并未在 贡献记录表中
|
|
3566
|
|
- $oldUserOfGoodsList = Db::name('old_user_of_goods')
|
|
3567
|
|
- ->where('status', 1) // '是否完成 0, 未完成 1 已完成',
|
|
3568
|
|
- ->whereIn('user_id', $uidList)
|
|
3569
|
|
- ->field('user_id, money, status, create_time') // 只需要下级的uid和贡献值
|
|
3570
|
|
- ->select()
|
|
3571
|
|
- ->toArray();
|
|
3572
|
|
- // 定义一个映射数组,用于存储不同 money 对应的 contribute 值
|
|
3573
|
|
- $contributeMapping = [
|
|
3574
|
|
- 1180 => 700,
|
|
3575
|
|
- 10620 => 6300,
|
|
3576
|
|
- 11800 => 7000,
|
|
3577
|
|
- 9440 => 5600,
|
|
3578
|
|
- 2360 => 1400,
|
|
3579
|
|
- ];
|
|
3580
|
|
- // 遍历每个 $storeProductData
|
|
3581
|
|
- foreach ($oldUserOfGoodsList as $storeProductData) {
|
|
3582
|
|
- // 获取 money 的值
|
|
3583
|
|
- $money = $storeProductData['money'];
|
|
3584
|
|
- // 检查 money 是否在映射中
|
|
3585
|
|
- if (isset($contributeMapping[$money])) {
|
|
3586
|
|
- // 如果存在,则使用映射的值
|
|
3587
|
|
- $contribute = $contributeMapping[$money];
|
|
3588
|
|
- } else {
|
|
3589
|
|
- // 否则按默认规则计算
|
|
3590
|
|
- $contribute = bcmul($money, 0.7, 2);
|
|
3591
|
|
- }
|
|
3592
|
|
- // 将数据添加到 $userContributeTimeList
|
|
3593
|
|
- $userContributeTimeMap[$storeProductData['user_id']][] = [
|
|
3594
|
|
- 'type' => 1,
|
|
3595
|
|
- 'contribute' => $contribute,
|
|
3596
|
|
- 'settlementTime' => $storeProductData['create_time']
|
|
3597
|
|
- ];
|
|
3598
|
|
- }
|
|
|
3565
|
+ // // 老订单 产生的贡献值 并未在 贡献记录表中
|
|
|
3566
|
+ // $oldUserOfGoodsList = Db::name('old_user_of_goods')
|
|
|
3567
|
+ // ->where('status', 1) // '是否完成 0, 未完成 1 已完成',
|
|
|
3568
|
+ // ->whereIn('user_id', $uidList)
|
|
|
3569
|
+ // ->field('user_id, money, status, create_time') // 只需要下级的uid和贡献值
|
|
|
3570
|
+ // ->select()
|
|
|
3571
|
+ // ->toArray();
|
|
|
3572
|
+ // // 定义一个映射数组,用于存储不同 money 对应的 contribute 值
|
|
|
3573
|
+ // $contributeMapping = [
|
|
|
3574
|
+ // 1180 => 700,
|
|
|
3575
|
+ // 10620 => 6300,
|
|
|
3576
|
+ // 11800 => 7000,
|
|
|
3577
|
+ // 9440 => 5600,
|
|
|
3578
|
+ // 2360 => 1400,
|
|
|
3579
|
+ // ];
|
|
|
3580
|
+ // // 遍历每个 $storeProductData
|
|
|
3581
|
+ // foreach ($oldUserOfGoodsList as $storeProductData) {
|
|
|
3582
|
+ // // 获取 money 的值
|
|
|
3583
|
+ // $money = $storeProductData['money'];
|
|
|
3584
|
+ // // 检查 money 是否在映射中
|
|
|
3585
|
+ // if (isset($contributeMapping[$money])) {
|
|
|
3586
|
+ // // 如果存在,则使用映射的值
|
|
|
3587
|
+ // $contribute = $contributeMapping[$money];
|
|
|
3588
|
+ // } else {
|
|
|
3589
|
+ // // 否则按默认规则计算
|
|
|
3590
|
+ // $contribute = bcmul($money, 0.7, 2);
|
|
|
3591
|
+ // }
|
|
|
3592
|
+ // // 将数据添加到 $userContributeTimeList
|
|
|
3593
|
+ // $userContributeTimeMap[$storeProductData['user_id']][] = [
|
|
|
3594
|
+ // 'type' => 1,
|
|
|
3595
|
+ // 'contribute' => $contribute,
|
|
|
3596
|
+ // 'settlementTime' => date('Y-m-d H:i:s', $storeProductData['create_time'])
|
|
|
3597
|
+ // ];
|
|
|
3598
|
+ // }
|
|
3599
|
3599
|
foreach ($userContributeTimeMap as $key => &$subArray) {
|
|
3600
|
3600
|
usort($subArray, function ($a, $b) {
|
|
3601
|
3601
|
return strtotime($a['settlementTime']) - strtotime($b['settlementTime']);
|
|
|
@@ -3630,9 +3630,9 @@ class UserRepository extends BaseRepository
|
|
3630
|
3630
|
}
|
|
3631
|
3631
|
// 2、获取用户贡献值 日志记录 对应时间
|
|
3632
|
3632
|
$userContributeTimeMap = $this->getUserContributeTimeMapByUidList([$uid]);
|
|
|
3633
|
+ $myIdentityUpTime = '';
|
|
3633
|
3634
|
if (!empty($userContributeTimeMap[$uid])) {
|
|
3634
|
3635
|
$myArriveNumOwn = 0;
|
|
3635
|
|
- $myIdentityUpTime = '';
|
|
3636
|
3636
|
foreach ($userContributeTimeMap[$uid] as $value) {
|
|
3637
|
3637
|
if ($value['type'] == 1) {
|
|
3638
|
3638
|
$myArriveNumOwn += $value['contribute'];
|
|
|
@@ -3644,12 +3644,17 @@ class UserRepository extends BaseRepository
|
|
3644
|
3644
|
break;
|
|
3645
|
3645
|
}
|
|
3646
|
3646
|
}
|
|
3647
|
|
- if (!empty($myIdentityUpTime)) {
|
|
3648
|
|
- $data['identity_up_time'] = $userData['identity_up_time'] = $myIdentityUpTime;
|
|
3649
|
|
- // 只升级 不降级
|
|
3650
|
|
- if ($userData['user_group'] == 1) {
|
|
3651
|
|
- $userData['user_group'] = $yeWuYuanId;
|
|
3652
|
|
- }
|
|
|
3647
|
+ }
|
|
|
3648
|
+ if (!empty($myIdentityUpTime)) {
|
|
|
3649
|
+ $data['identity_up_time'] = $userData['identity_up_time'] = $myIdentityUpTime;
|
|
|
3650
|
+ // 只升级 不降级
|
|
|
3651
|
+ if ($userData['user_group'] == 1) {
|
|
|
3652
|
+ $userData['user_group'] = $yeWuYuanId;
|
|
|
3653
|
+ }
|
|
|
3654
|
+ $this->dao->update($uid, $data);
|
|
|
3655
|
+ } else {
|
|
|
3656
|
+ if ($userData['is_old'] == 1) {
|
|
|
3657
|
+ $data['identity_up_time'] = $userData['identity_up_time'] = $userData['create_time'];
|
|
3653
|
3658
|
$this->dao->update($uid, $data);
|
|
3654
|
3659
|
}
|
|
3655
|
3660
|
}
|
|
|
@@ -3720,7 +3725,7 @@ class UserRepository extends BaseRepository
|
|
3720
|
3725
|
$userContributionSumMap = [];
|
|
3721
|
3726
|
if ($depth >= 0 && !empty($startTime)) {
|
|
3722
|
3727
|
// 获取用户的直属下级
|
|
3723
|
|
- $uidContributeList = $this->getUidContributeListBySpreadUidList([$uid]);
|
|
|
3728
|
+ $uidContributeList = $this->getUidContributeListByLevelIdList([$uid]);
|
|
3724
|
3729
|
$uidContributeUidList = array_column($uidContributeList, 'uid');
|
|
3725
|
3730
|
$subordinatesOfCurrentLevelUidList = $this->getUserContributeByUidList($uidContributeUidList, $startTime, $endTime);
|
|
3726
|
3731
|
|