From 33f004d1196d056b99a3886de070d429315bac39 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 11 Dec 2025 18:12:38 +0800
Subject: [PATCH] 将分类改为多选 修复活动报名 实现成为vip会员时根据活动报名信息绑定下级

---
 admin/app/common/model/supplier/Supplier.php |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/admin/app/common/model/supplier/Supplier.php b/admin/app/common/model/supplier/Supplier.php
index 6383036..e3f684b 100644
--- a/admin/app/common/model/supplier/Supplier.php
+++ b/admin/app/common/model/supplier/Supplier.php
@@ -3,9 +3,10 @@
 namespace app\common\model\supplier;
 
 use app\common\model\BaseModel;
-use app\shop\model\auth\User as AuthUserModel;
-use app\shop\model\auth\UserRole as UserRoleModel;
 use app\common\model\shop\Role as RoleModel;
+use app\common\model\supplier\member\Member as MemberModel;
+use app\common\model\supplier\PointsLog as PointsLogModel;
+use app\shop\model\auth\UserRole as UserRoleModel;
 
 /**
  * 商家供应商模型
@@ -81,6 +82,27 @@
         }
         return true;
     }
+
+    /**
+     * 累积商户的可用积分
+     */
+    public function setIncPoints($points, $describe, $decPoints = 0)
+    {
+        // 新增积分变动明细
+        PointsLogModel::add([
+            'shop_supplier_id' => $this['shop_supplier_id'],
+            'value' => $points,
+            'describe' => $describe,
+            'app_id' => $this['app_id'],
+        ]);
+
+        // 更新用户可用积分
+        $data['points'] = ($this['points'] + $points + $decPoints <= 0) ? 0 : $this['points'] + $points + $decPoints;
+        $this->where('branch_id', '=', $this['branch_id'])->update($data);
+        
+        return true;
+    }
+
     //判断营业时间
     public function supplierStatus($shop_supplier_id)
     {
@@ -154,6 +176,14 @@
     }
 
     /**
+     * 获取供应商当前有效的年卡
+     */
+    public function getCurrentMember()
+    {
+        return MemberModel::getCurrentMember($this['shop_supplier_id'], $this['app_id']);
+    }
+    
+    /**
      * 获取角色管理的区域
      */
     public static function getAreaIdsByUser($user)
@@ -215,6 +245,34 @@
             ->find();
         return empty($data['is_independent']) ? 0 : $data['is_independent'];
     }
+    /**
+     * 冻结用户资金
+     */
+    public function freezeMoney($money)
+    {
+        $this->save(['money' => $this['money'] - $money,'freeze_money'=>$this['freeze_money']+$money]);
+    }
+    /**
+     * 直推供应商多少人
+     */
+    public function refereeSupplierCount ($referee_id)
+    {
+        $count = $this->where('referee_id', '=', $referee_id)
+            ->where('is_delete', '=', 0)
+            ->count();
+        return $count;
+    }
 
+    /**
+     * 下级商户数量
+     * @param $user_id
+     * @return int
+     */
+    public function getSubordinateNum($user_id)
+    {
+        return (new static())->where('is_delete', '=', 0)
+            ->where('referee_id', 'in', $user_id)
+            ->count();
+    }
 
 }
\ No newline at end of file

--
Gitblit v1.9.2