From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访
---
admin/app/shop/model/plus/shareholder/User.php | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 55 insertions(+), 1 deletions(-)
diff --git a/admin/app/shop/model/plus/shareholder/User.php b/admin/app/shop/model/plus/shareholder/User.php
index e7962af..218ed95 100644
--- a/admin/app/shop/model/plus/shareholder/User.php
+++ b/admin/app/shop/model/plus/shareholder/User.php
@@ -4,7 +4,8 @@
use app\shop\model\plus\shareholder\Referee as RefereeModel;
use app\common\model\plus\shareholder\User as UserModel;
-
+use app\shop\model\order\Order as OrderModel;
+use app\shop\model\order\OrderProduct as OrderProductModel;
/**
* 股东用户模型
* Class User
@@ -12,6 +13,11 @@
*/
class User extends UserModel
{
+ public static function checkExistByGradeId($grade_id)
+ {
+ self::where('grade_id',$grade_id)->find();
+ }
+
/**
* 获取股东用户列表
*/
@@ -44,6 +50,54 @@
}
return $model->where('is_delete', '=', 0)->with(['grade'])->select();
}
+
+ /**
+ * 获取满足分红条件的股东列表
+ */
+ public static function getEligibleListAll($bonusData)
+ {
+ // 获取基础设置
+ $setting = Setting::getItem('basic');
+
+ // 先获取所有股东
+ $model = new static;
+ $shareholders = $model->where('is_delete', '=', 0)->with(['grade'])->select();
+ // 如果没有设置分红条件,返回所有股东
+ if (empty($setting['consumption_amount']) && empty($setting['condition_purchase_count'])) {
+ return $shareholders;
+ }
+
+ // 过滤满足条件的股东
+ $eligibleShareholders = [];
+ foreach ($shareholders as $shareholder) {
+ $userId = $shareholder['user_id'];
+ $isEligible = true;
+
+ // 检查消费金额条件
+ if (!empty($setting['consumption_amount'])) {
+ $totalConsumption = (new OrderModel)->getUserTotalConsumption($userId,$bonusData);
+ if ($totalConsumption < $setting['consumption_amount']) {
+ $isEligible = false;
+ }
+ }
+
+ // 检查购买次数条件
+ if (!empty($setting['condition_purchase_count']) && $isEligible) {
+ $purchaseCount = (new OrderProductModel)::getPurchaseCount($userId,$bonusData);
+ if ($purchaseCount < $setting['condition_purchase_count']) {
+ $isEligible = false;
+ }
+ }
+
+ // 如果满足所有条件,添加到结果集中
+ if ($isEligible) {
+ $eligibleShareholders[] = $shareholder;
+ }
+ }
+
+ // 转换为 Collection 对象以保持接口一致性
+ return collect($eligibleShareholders);
+ }
/**
* 新增记录
--
Gitblit v1.9.2