From 04102f7237efefa744090ed7c25f7b5d0807b679 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 18:11:57 +0800
Subject: [PATCH] 完成运营中心提现和运营中心权限管理
---
admin/app/common/model/plus/bonus/User.php | 35 ++++++++++++++++++++++++++++-------
1 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/admin/app/common/model/plus/bonus/User.php b/admin/app/common/model/plus/bonus/User.php
index 9b64771..0075882 100644
--- a/admin/app/common/model/plus/bonus/User.php
+++ b/admin/app/common/model/plus/bonus/User.php
@@ -108,21 +108,25 @@
//获取直推上级
$referee_id = agentRefereeModel::getRefereeUserId($user_id, 1);
//获取直推上级推荐的人数
- $direct_child_num = $referee_id ? self::getDirectNum($referee_id) : 0;
- /*if ($referee_id && $direct_child_num < 2) {
- $parent = static::detail($referee_id);
+ /*$direct_child_num = $referee_id ? self::getDirectNum($referee_id) : 0;*/
+ $parent_id=0;
+ if ($referee_id) {
+ $parent_id=self::getParentId([$referee_id]);
+ }
+ if ($parent_id) {
+ $parent = static::detail($parent_id);
//如果自己名下已经被排满,继续往下找
if ($parent['child_num'] == 3) {
//获取起始横向排位
$level_num_first = ($parent['level_num'] - 1) * 3 + 1;
$parent = self::checkUserChild($level_num_first, 3, $parent['tree_level'] + 1);
}
- } else {*/
+ } else {
//规则2:查找有空缺的三叉树
$parent = (new static())->where('child_num', '<', 3)
/*->where('user_id', "<>", $referee_id)*/
->order(['tree_level' => 'asc', 'level_num' => 'asc'])->find();
- //}
+ }
$data['parent_id'] = $parent['user_id'];
$data['order_num'] = $parent['child_num'] + 1; //三叉树内的位置
$data['tree_level'] = $parent['tree_level'] + 1; //竖向层级
@@ -146,7 +150,18 @@
}
return true;
}
-
+ /**
+ * 获取团队里公排下级未被排满的id
+ */
+ public static function getParentId($referee)
+ {
+ $user=(new static())->where('user_id', 'in', $referee)->where('child_num', '<', 3)->find();
+ if ($user) {
+ return $user['user_id'];
+ }
+ $subordinate=(new self())->where('parent_id', 'in', $referee)->column('user_id');
+ return self::getParentId($subordinate);
+ }
/**
* 添加第一个分红用户
*/
@@ -293,7 +308,10 @@
$is_expire = User::isExpire($user_id);
// 队长详情
$model = static::detail($user_id);
- if (!$model || $model['is_delete']) {
+ if (!$model) {
+ return false;
+ }
+ if ($model['is_delete']){
return false;
}
if ($money_type == 20){
@@ -436,6 +454,9 @@
public static function isExpire($user_id)
{
$team = self::detail($user_id);
+ if (!$team) {
+ return false;
+ }
$setting = Setting::getItem('basic', $team['app_id']);
return !!$team && $team['is_expire'] && $team['is_permanent'] == 0 && $setting['expire_day'] > 0;
}
--
Gitblit v1.9.2