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/common/model/plus/vip/Order.php |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/admin/app/common/model/plus/vip/Order.php b/admin/app/common/model/plus/vip/Order.php
index e380504..7b68882 100644
--- a/admin/app/common/model/plus/vip/Order.php
+++ b/admin/app/common/model/plus/vip/Order.php
@@ -149,16 +149,22 @@
                 // 获取下级用户的推荐人(即上级用户)
                 $superiorUser = UserModel::detail($model['vip_area_user_id']);
                 if ($superiorUser && $superiorUser['referee_id']) {
-                    $vipUser = VipUserModel::detail($superiorUser['vip_area_user_id']);
-                    if ($vipUser['grade']['operating_subsidy'] > 0) {
-                        // 获取补贴比例设置
-                        $subsidyRate = $vipUser['grade']['operating_subsidy'];
-                        // 计算下级收益补贴
-                        $subsidyAmount = bcmul($model['vip_area_money'], bcdiv((string)$subsidyRate, '100', 4), 2);
-                        User::grantMoney($superiorUser['referee_id'], $subsidyAmount, '下级收益补贴');
-                        // 记录分销订单
-                        self::createDistributionOrder($order, $superiorUser['referee_id'], $subsidyAmount, 'vip_subsidy', $model['vip_area_money']);
+                    if (UserModel::getOperatingSubsidy($superiorUser['referee_id'],Setting::getItem('basic', $order['app_id']))){
+                        $vipUser = VipUserModel::detail($superiorUser['referee_id']);
+                        if (!empty($vipUser)){
+                            if ($vipUser['grade']['operating_subsidy'] > 0) {
+                                // 获取补贴比例设置
+                                $subsidyRate = $vipUser['grade']['operating_subsidy'];
+                                // 计算下级收益补贴
+                                $subsidyAmount = bcmul($model['vip_area_money'], bcdiv((string)$subsidyRate, '100', 4), 2);
+                                User::grantMoney($superiorUser['referee_id'], $subsidyAmount, '下级收益补贴');
+                                // 记录分销订单
+                                self::createDistributionOrder($order, $superiorUser['referee_id'], $subsidyAmount, 'vip_subsidy', $model['vip_area_money']);
+                            }
+                        }
+
                     }
+
                 }
             }
 
@@ -302,7 +308,7 @@
                                 $viewpoint_money = bcadd($viewpoint_money, ($product['is_viewpoint_money'] ? $product['viewpoint_money'] : $vipGrade['viewpoint_money']), 2);
                             }*/
                             if (in_array($product['product_id'], $config['become__buy_product_ids']) || $product['is_vip']) {
-                                // 获取商品数量
+                                // 获取VIP专区商品数量
                                 $vip_quantity = bcadd($vip_quantity, $product['total_num'], 2);
                                 // 为每个商品生成分红订单
                                 /*for ($i = 0; $i < $quantity; $i++) {
@@ -337,14 +343,19 @@
                             if ($setting['jcaward']){
                                 $refereeJc=User::getAllJcUser($userModel['user_id']);
                                 foreach ($refereeJc as $v){
-                                    $list[] = array_merge($data, ['vip_area_type' => 70, 'vip_area_money' =>bcmul($product_price_repurchase, bcdiv($v['bonus_percent'], 100, 4), 2),'vip_area_user_id'=>$v['user_id']]);
+                                    if ( (new User())->getViewpointMoneyQualification($v['user_id'], $setting)){
+                                        $list[] = array_merge($data, ['vip_area_type' => 70, 'vip_area_money' =>bcmul($product_price_repurchase, bcdiv($v['bonus_percent'], 100, 4), 2),'vip_area_user_id'=>$v['user_id']]);
+                                    }
+
                                 }
                             }
                             //复购专区平级奖
                             if ($setting['pjaward']){
                                 $refereeJc=User::getAllPjUser($userModel['user_id'],$setting['pjaward_level']);
                                 foreach ($refereeJc as $v){
-                                    $list[] = array_merge($data, ['vip_area_type' => 80, 'vip_area_money' => bcmul($product_price_repurchase, bcdiv($v['bonus_percent'], 100, 4), 2),'vip_area_user_id'=>$v['user_id']]);
+                                    if ((new User())->getViewpointMoneyQualification($v['user_id'], $setting)) {
+                                        $list[] = array_merge($data, ['vip_area_type' => 80, 'vip_area_money' => bcmul($product_price_repurchase, bcdiv($v['bonus_percent'], 100, 4), 2), 'vip_area_user_id' => $v['user_id']]);
+                                    }
                                 }
                             }
                         }

--
Gitblit v1.9.2