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/job/event/VipUserGrade.php |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/admin/app/job/event/VipUserGrade.php b/admin/app/job/event/VipUserGrade.php
index 41019e5..95272e8 100644
--- a/admin/app/job/event/VipUserGrade.php
+++ b/admin/app/job/event/VipUserGrade.php
@@ -3,9 +3,10 @@
 namespace app\job\event;
 
 use app\common\model\plus\vip\Grade as GradeModel;
-use app\common\model\plus\vip\User as UserModel;
+use app\common\model\plus\vip\User as vipUserModel;
 use app\common\model\plus\vip\Order as OrderModel;
-
+use app\common\model\supplier\Supplier;
+use app\job\model\user\User as UserModel;
 /**
  * VIP用户等级事件管理
  */
@@ -31,7 +32,10 @@
         }
         log_write('VIP用户升级$user_id='.$userId);
         // 用户模型
-        $user = UserModel::detail($userId);
+        $user = vipUserModel::detail($userId);
+        if (empty($user)) {
+            return false;
+        }
         // 获取所有等级
         $list = GradeModel::getUsableList($user['app_id']);
         if ($list->isEmpty()) {
@@ -56,7 +60,7 @@
             }
         }
         if($upgradeGrade){
-            if($user['grade_id'] == $upgradeGrade['grade_id']){
+            if($user['grade_id'] == $upgradeGrade['grade_id']||$user['grade']['weight'] >= $upgradeGrade['weight']){
                 return true;
             }
             $this->dologs('setVipUserGrade', [
@@ -64,7 +68,7 @@
                 'grade_id' => $upgradeGrade['grade_id'],
             ]);
             // 修改会员的等级
-            (new UserModel())->upgradeGrade($user, $upgradeGrade);
+            (new vipUserModel())->upgradeGrade($user, $upgradeGrade);
         }
     }
 
@@ -78,11 +82,31 @@
         if($grade['is_purchase_count'] == 1 && $user['user']['purchase_count'] >= $grade['purchase_count']){
             $purchase_count = true;
         }
+        $supplier_count = false;
+        // 直推供应商多少人
+        if($grade['is_supplier_count'] == 1 ){
+            $referee_supplier_count = (new Supplier())->where('referee_id', $user['user_id'])->count();
+            if ($referee_supplier_count >= $grade['supplier_count']){
+                $supplier_count = true;
+            }
+
+        }
+        $referee_grade_count=false;
+        if($grade['is_referee_grade'] == 1){
+            // 推荐人等级
+            $user_referee_grade_count = (new UserModel())->getRefereeGradeCount([$user['user_id']], $grade['referee_grade_ids']);
+            if ($user_referee_grade_count >= $grade['referee_grade_count']){
+                $referee_grade_count = true;
+            }
+
+        }
         if($grade['condition_type'] == 'and'){
             $grade['is_purchase_count']!=1 && $purchase_count=true;
-            return $purchase_count;
+            $grade['is_supplier_count']!=1 && $supplier_count=true;
+            $grade['is_referee_grade']!=1 && $referee_grade_count=true;
+            return $purchase_count && $supplier_count && $referee_grade_count;
         }else{
-            return $purchase_count;
+            return $purchase_count || $supplier_count || $referee_grade_count;
         }
     }
 

--
Gitblit v1.9.2