From ca425b889f3c1b5847ffc26a0229307f7f8ef43e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Tue, 09 Dec 2025 16:11:31 +0800
Subject: [PATCH] 添加消费券 商户端添加页面diy

---
 admin/app/common/model/plus/bonus/User.php |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/admin/app/common/model/plus/bonus/User.php b/admin/app/common/model/plus/bonus/User.php
index 9b64771..ea015db 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);
+    }
     /**
      * 添加第一个分红用户
      */

--
Gitblit v1.9.2