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/api/service/order/settled/OrderSettledService.php |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/admin/app/api/service/order/settled/OrderSettledService.php b/admin/app/api/service/order/settled/OrderSettledService.php
index f7f4f77..31cecd8 100644
--- a/admin/app/api/service/order/settled/OrderSettledService.php
+++ b/admin/app/api/service/order/settled/OrderSettledService.php
@@ -8,6 +8,7 @@
 use app\api\model\plus\coupon\UserCoupon as UserCouponModel;
 use app\api\model\product\Category;
 use app\api\service\consumption\ConsumptionDeductService;
+use app\api\service\points\PointsDeductService;
 use app\common\enum\order\OrderPayTypeEnum;
 use app\common\enum\order\OrderSourceEnum;
 use app\common\enum\order\OrderTypeEnum;
@@ -98,6 +99,7 @@
         $totalConsumptionMoney = 0;
         $totalConsumption = 0;
         $totalProductReduce = 0;
+        $settlementPrice=0;
         $this->commonOrderData = $this->getCommonOrderData();
         // 供应商
         foreach ($this->supplierData as &$supplier) {
@@ -110,6 +112,9 @@
             // 设置订单商品总金额(不含优惠折扣)
             $this->setOrderTotalPrice($supplier['productList']);
             $orderTotalPrice += $this->orderData['order_total_price'];
+            // 设置订单商品总结算金额
+            $this->setOrderSettlementPrice($supplier['productList']);
+            $settlementPrice += $this->orderData['settlement_price'];
             // 先计算商品满减
             $this->setProductReduce($supplier['productList']);
             $totalProductReduce += $this->orderData['product_reduce_money'];
@@ -220,6 +225,7 @@
         $this->commonOrderData = array_merge([
             'order_total_num' => $orderTotalNum,        // 商品总数量
             'order_total_price' => helper::number2($orderTotalPrice),        // 商品总价
+            'settlement_price' => helper::number2($settlementPrice),        // 商品总结算价
             'order_pay_price' => helper::number2($orderPayPrice),        // 商品总价,最终支付
             'coupon_list' => $couponList,
             'coupon_id_sys' => $coupon_id,
@@ -330,6 +336,14 @@
         // 订单商品的总金额(不含优惠券折扣)
         $this->orderData['order_total_price'] = helper::number2(helper::getArrayColumnSum($productList, 'total_price'));
     }
+    /**
+     * 设置订单的商品总结算金额(不含优惠折扣)
+     */
+    private function setOrderSettlementPrice($productList)
+    {
+        // 订单商品的总金额(不含优惠券折扣)
+        $this->orderData['settlement_price'] = helper::number2(helper::getArrayColumnSum($productList, 'total_settlement_price'));
+    }
 
     /**
      * 当前用户可用的优惠券列表
@@ -411,7 +425,7 @@
             if ($this->orderData['is_allow_points'] && $this->commonOrderData['is_use_points'] && !$this->settledRule['force_points']) {
                 $value = helper::bcsub($value, $product['points_money']);
             }
-            // 减去积分抵扣金额
+            // 减去消费券抵扣金额
             if ($this->orderData['is_allow_consumption'] && $this->commonOrderData['is_use_consumption'] && !$this->settledRule['force_points']) {
                 $value = helper::bcsub($value, $product['consumption_money']);
             }
@@ -637,6 +651,7 @@
             'user_id' => $this->user['user_id'],
             'order_no' => $this->model->orderNo(),
             'total_price' => $order['order_total_price'],
+            'settlement_price' => $order['settlement_price'],
             'order_price' => $order['order_price'],
             'coupon_id' => $supplier['orderData']['coupon_id'],
             'coupon_money' => $supplier['orderData']['coupon_money'],
@@ -764,6 +779,7 @@
                 'product_no' => $product['product_sku']['product_no'],
                 'product_price' => $product['product_sku']['product_price'],
                 'line_price' => $product['product_sku']['line_price'],
+                'settlement_price' => $product['product_sku']['settlement_price'],
                 'product_weight' => $product['product_sku']['product_weight'],
                 'is_user_grade' => (int)$product['is_user_grade'],
                 'grade_ratio' => $product['grade_ratio'],
@@ -778,6 +794,7 @@
                 'consumption_bonus' => isset($product['consumption_bonus'])?$product['consumption_bonus']:0,
                 'total_num' => $product['total_num'],
                 'total_price' => $product['total_price'],
+                'total_settlement_price' => $product['total_settlement_price'],
                 'total_pay_price' => $product['total_pay_price'],
                 'supplier_money' => $product['supplier_money'],
                 'is_agent' => $product['is_agent'],
@@ -867,7 +884,7 @@
             return false;
         }
         // 计算订单商品实际抵扣的积分数量和金额
-        $ProductDeduct = new ConsumptionDeductService($productList);
+        $ProductDeduct = new PointsDeductService($productList);
         $ProductDeduct->setProductPoints($maxPointsNumCount, $actualPointsNum);
         // 积分抵扣总金额
         $orderPointsMoney = helper::getArrayColumnSum($productList, 'points_money');
@@ -892,7 +909,7 @@
                 $product['max_points_num'] = $product['points_num'];
             } else {
                 // 商品不允许积分抵扣
-                if (!$product['is_points_discount']) continue;
+                if (!$product['is_points_discount']||$product['is_vip']||$product['is_newcomer']||$product['is_repurchase']) continue;
                 // 积分抵扣比例
                 $deductionRatio = helper::bcdiv($setting['discount']['max_money_ratio'], 100);
                 // 最多可抵扣的金额

--
Gitblit v1.9.2