|
@@ -242,39 +242,73 @@ class StoreOrderSuccessServices extends BaseServices
|
|
|
@file_put_contents('quanju4.txt', 'fake_id小组没有成员,新成员成为第一人\r\n', 8);
|
|
@file_put_contents('quanju4.txt', 'fake_id小组没有成员,新成员成为第一人\r\n', 8);
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- // 小组已满,需要滑落到该小组最后一人的 fake_id 下
|
|
|
|
|
|
|
+ // 小组已满,需要滑落到该小组最后一人的直推下级小组
|
|
|
|
|
+ // 最后一人的直推下级小组 = 最后一人的uid作为fake_id的小组
|
|
|
$lastMember = end($spreadFakeIdGroup);
|
|
$lastMember = end($spreadFakeIdGroup);
|
|
|
@file_put_contents('quanju4.txt', $lastMember['uid'] . "-小组最后一人uid\r\n", 8);
|
|
@file_put_contents('quanju4.txt', $lastMember['uid'] . "-小组最后一人uid\r\n", 8);
|
|
|
- @file_put_contents('quanju4.txt', $lastMember['fake_pid'] . "-最后一人的fake_id\r\n", 8);
|
|
|
|
|
|
|
|
|
|
- // 查找最后一人的 fake_id 对应的小组
|
|
|
|
|
- $lastMemberFakeIdGroup = $giftGroupService->getList([
|
|
|
|
|
|
|
+ // 查找最后一人的uid作为fake_id的小组
|
|
|
|
|
+ $lastMemberUidFakeIdGroup = $giftGroupService->getList([
|
|
|
'product_id' => $product_id,
|
|
'product_id' => $product_id,
|
|
|
- 'fake_pid' => $lastMember['fake_pid']
|
|
|
|
|
|
|
+ 'fake_pid' => $lastMember['uid']
|
|
|
], '*', 0, 0, 'create_time ASC');
|
|
], '*', 0, 0, 'create_time ASC');
|
|
|
|
|
|
|
|
- @file_put_contents('quanju4.txt', count($lastMemberFakeIdGroup) . "-最后一人的fake_id小组人数\r\n", 8);
|
|
|
|
|
|
|
+ @file_put_contents('quanju4.txt', count($lastMemberUidFakeIdGroup) . "-fake_id=" . $lastMember['uid'] . "的小组人数\r\n", 8);
|
|
|
|
|
|
|
|
- if (count($lastMemberFakeIdGroup) < $groupMaxNum) {
|
|
|
|
|
|
|
+ if (count($lastMemberUidFakeIdGroup) < $groupMaxNum) {
|
|
|
// 该小组未满,新成员加入该小组
|
|
// 该小组未满,新成员加入该小组
|
|
|
- if (count($lastMemberFakeIdGroup) > 0) {
|
|
|
|
|
|
|
+ if (count($lastMemberUidFakeIdGroup) > 0) {
|
|
|
// 该小组已有成员,新成员的group_pid是该小组的最后一人
|
|
// 该小组已有成员,新成员的group_pid是该小组的最后一人
|
|
|
- $lastSubMember = end($lastMemberFakeIdGroup);
|
|
|
|
|
|
|
+ $lastSubMember = end($lastMemberUidFakeIdGroup);
|
|
|
$data['group_pid'] = $lastSubMember['uid'];
|
|
$data['group_pid'] = $lastSubMember['uid'];
|
|
|
- $data['fake_pid'] = $lastMember['fake_pid'];
|
|
|
|
|
- @file_put_contents('quanju4.txt', $lastSubMember['uid'] . "-fake_id小组最后一人,新成员group_pid\r\n", 8);
|
|
|
|
|
|
|
+ $data['fake_pid'] = $lastMember['uid'];
|
|
|
|
|
+ @file_put_contents('quanju4.txt', $lastSubMember['uid'] . "-fake_id小组最后一人,新成员group_pid,fake_pid=" . $lastMember['uid'] . "\r\n", 8);
|
|
|
} else {
|
|
} else {
|
|
|
// 该小组没有成员,新成员成为第一人
|
|
// 该小组没有成员,新成员成为第一人
|
|
|
$data['group_pid'] = 0;
|
|
$data['group_pid'] = 0;
|
|
|
- $data['fake_pid'] = $lastMember['fake_pid'];
|
|
|
|
|
- @file_put_contents('quanju4.txt', '最后一人的fake_id小组没有成员,新成员成为第一人\r\n', 8);
|
|
|
|
|
|
|
+ $data['fake_pid'] = $lastMember['uid'];
|
|
|
|
|
+ @file_put_contents('quanju4.txt', '最后一人的uid作为fake_id小组没有成员,新成员成为第一人,fake_pid='. $lastMember['uid'] . "\r\n", 8);
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- // 该小组也满了,继续滑落(最后一人的 fake_id 可能不等于自己的 fake_pid)
|
|
|
|
|
- // 这种情况下,最后一人的 fake_pid 就是滑落后的上级
|
|
|
|
|
- $data['group_pid'] = 0;
|
|
|
|
|
- $data['fake_pid'] = $lastMember['fake_pid'];
|
|
|
|
|
- @file_put_contents('quanju4.txt', '最后一人的fake_id小组已满,新成员fake_pid=' . $lastMember['fake_pid'] . "\r\n", 8);
|
|
|
|
|
|
|
+ // 该小组也满了,从37的直推小组倒数第二人开始找
|
|
|
|
|
+ // 从后往前遍历37的直推小组,找到第一个未满的uid作为fake_id的小组
|
|
|
|
|
+ $foundGroup = false;
|
|
|
|
|
+ for ($i = count($spreadFakeIdGroup) - 2; $i >= 0; $i--) {
|
|
|
|
|
+ $prevMember = $spreadFakeIdGroup[$i];
|
|
|
|
|
+ @file_put_contents('quanju4.txt', $prevMember['uid'] . "-检查倒数第" . (count($spreadFakeIdGroup) - $i) . "人的uid\r\n", 8);
|
|
|
|
|
+
|
|
|
|
|
+ // 查找该人的uid作为fake_id的小组
|
|
|
|
|
+ $prevMemberUidFakeIdGroup = $giftGroupService->getList([
|
|
|
|
|
+ 'product_id' => $product_id,
|
|
|
|
|
+ 'fake_pid' => $prevMember['uid']
|
|
|
|
|
+ ], '*', 0, 0, 'create_time ASC');
|
|
|
|
|
+
|
|
|
|
|
+ @file_put_contents('quanju4.txt', count($prevMemberUidFakeIdGroup) . "-fake_id=" . $prevMember['uid'] . "的小组人数\r\n", 8);
|
|
|
|
|
+
|
|
|
|
|
+ if (count($prevMemberUidFakeIdGroup) < $groupMaxNum) {
|
|
|
|
|
+ // 该小组未满,新成员加入该小组
|
|
|
|
|
+ if (count($prevMemberUidFakeIdGroup) > 0) {
|
|
|
|
|
+ $lastSubMember = end($prevMemberUidFakeIdGroup);
|
|
|
|
|
+ $data['group_pid'] = $lastSubMember['uid'];
|
|
|
|
|
+ $data['fake_pid'] = $prevMember['uid'];
|
|
|
|
|
+ @file_put_contents('quanju4.txt', $lastSubMember['uid'] . "-fake_id小组最后一人,新成员group_pid,fake_pid=" . $prevMember['uid'] . "\r\n", 8);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $data['group_pid'] = 0;
|
|
|
|
|
+ $data['fake_pid'] = $prevMember['uid'];
|
|
|
|
|
+ @file_put_contents('quanju4.txt', '倒数人的uid作为fake_id小组没有成员,新成员成为第一人,fake_pid=' . $prevMember['uid'] . "\r\n", 8);
|
|
|
|
|
+ }
|
|
|
|
|
+ $foundGroup = true;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 如果所有倒数人的小组都满了,新成员以最后一个倒数人的uid作为fake_id,group_pid=0
|
|
|
|
|
+ if (!$foundGroup) {
|
|
|
|
|
+ $firstPrevMember = $spreadFakeIdGroup[0];
|
|
|
|
|
+ $data['group_pid'] = 0;
|
|
|
|
|
+ $data['fake_pid'] = $firstPrevMember['uid'];
|
|
|
|
|
+ @file_put_contents('quanju4.txt', '所有倒数人的小组都满了,新成员fake_pid=' . $firstPrevMember['uid'] . "\r\n", 8);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|