From abc7edc3c8ad59ff213c85413d0d6a10d7a0b6f7 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Wed, 17 Dec 2025 18:03:09 +0800
Subject: [PATCH] 1. 发布供需消耗连盟币,连盟币数量在后台独立设置 2. 小程序供需个人中心可自由切换身份 3. 增加私信系统 4. 增加评论系统,用户可在发布者详情页进行评论操作,评论获得的连盟币可在后台设置 5. 增加发布者的等级,以好评个数为条件进行升级,小程序端会显示该等级的图标,如没有等级则不会显示图标 6. 增加设置消耗连盟币可以解锁、查看发布的信息,费用可在后台设置 7. 小程序供需大厅界面优化,以及增加了推荐栏目,该栏目按发布的分类相似进行匹配,比如A用户发布了 互联网 分类的需求,则会优先推荐匹配互联网分类的供应需求给他。
---
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