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