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/job/event/VipUserGrade.php | 40 ++++++++++++++++++++++++++++++----------
1 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/admin/app/job/event/VipUserGrade.php b/admin/app/job/event/VipUserGrade.php
index b114091..17d9511 100644
--- a/admin/app/job/event/VipUserGrade.php
+++ b/admin/app/job/event/VipUserGrade.php
@@ -4,9 +4,10 @@
use app\common\model\plus\vip\Grade as GradeModel;
use app\common\model\plus\vip\User as vipUserModel;
-use app\common\model\plus\vip\Order as OrderModel;
+use app\common\model\plus\vip\Order as vipOrderModel;
use app\common\model\supplier\Supplier;
use app\job\model\user\User as UserModel;
+use app\common\model\order\Order as OrderModel;
/**
* VIP用户等级事件管理
*/
@@ -33,6 +34,9 @@
log_write('VIP用户升级$user_id='.$userId);
// 用户模型
$user = vipUserModel::detail($userId);
+ if (empty($user)) {
+ return false;
+ }
// 获取所有等级
$list = GradeModel::getUsableList($user['app_id']);
if ($list->isEmpty()) {
@@ -80,24 +84,40 @@
$purchase_count = true;
}
$supplier_count = false;
- $referee_supplier_count = (new Supplier())->where('referee_id', $user['user_id'])->count();
// 直推供应商多少人
- if($grade['is_supplier_count'] == 1 && $referee_supplier_count >= $grade['supplier_count']){
- $supplier_count = true;
+ 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;
+ }
+
}
- // 推荐人等级
- $user_referee_grade_count = (new UserModel())->getRefereeGradeCount($user['user_id'], $grade['referee_grade_ids']);
$referee_grade_count=false;
- if($grade['is_referee_grade'] == 1 && $user_referee_grade_count >= $grade['referee_grade_count']){
- $referee_grade_count = true;
+ 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;
+ }
+
+ }
+ $buy_product = false;
+ if ($grade['open_buy_product'] == 1&& OrderModel::getOrderProductIds($user['user_id'],$grade['product_ids'],true)){
+ $buy_product= true;
}
if($grade['condition_type'] == 'and'){
$grade['is_purchase_count']!=1 && $purchase_count=true;
$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;
+ $grade['is_buy_product']!=1 && $buy_product=true;
+ if ($grade['open_type_product']){
+ return ($purchase_count && $supplier_count && $referee_grade_count) || $buy_product;
+ }else{
+ return $purchase_count && $supplier_count && $referee_grade_count && $buy_product;
+ }
+
}else{
- return $purchase_count || $supplier_count || $referee_grade_count;
+ return $purchase_count || $supplier_count || $referee_grade_count || $buy_product;
}
}
--
Gitblit v1.9.2