Jelajahi Sumber

客户下单成功要增加累计消费,及售后之后对累计消费进行回退

shizhongqi 5 bulan lalu
induk
melakukan
40133a353a

+ 14 - 0
app-hd/controllers/RefundController.php

@@ -4,6 +4,7 @@ namespace hd\controllers;
 
 use biz\shop\classes\ShopExtClass;
 use bizHd\custom\classes\CustomClass;
+use bizHd\custom\classes\HdClass;
 use bizHd\hb\classes\HbClass;
 use bizHd\order\classes\OrderClass;
 use bizHd\order\services\OrderService;
@@ -261,6 +262,19 @@ class RefundController extends BaseController
             }
             $transaction->commit();
 
+            //售后之后,累计消费回退 -- 表:xhCustom -> buyAmount,xhHd -> expendAmount
+            $custom = CustomClass::getLockById($order->customId);
+            if (!empty($custom)) {
+                $custom->buyAmount = bcsub($custom->buyAmount, $post['price'], 2);
+                $custom->save();
+
+                $hd = HdClass::getLockById($custom->hdId);
+                if (!empty($hd)) {
+                    $hd->expendAmount = bcsub($hd->expendAmount, $post['price'], 2);
+                    $hd->save();
+                }
+            }
+
             //红包退款
             $refundHb = $post['refundHb'] ?? 0;
             $hbId = $order->hbId;

+ 10 - 0
biz-hd/order/classes/OrderClass.php

@@ -13,6 +13,7 @@ use bizGhs\order\classes\CheckOrderClass;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\stock\classes\StockRecordClass;
 use bizHd\custom\classes\CustomClass;
+use bizHd\custom\classes\HdClass;
 use bizHd\hb\classes\HbClass;
 use bizHd\item\classes\ItemClass;
 use bizHd\merchant\classes\SjClass;
@@ -454,8 +455,17 @@ class OrderClass extends BaseClass
             if ($order->forward == 0) {
                 $myCustom->recentExpend = date("Y-m-d H:i:s");
                 $myCustom->visitTime = date("Y-m-d H:i:s");
+                $myCustom->buyAmount = bcadd($myCustom->buyAmount, $order->realPrice, 2);
                 $myCustom->save();
             }
+
+            $hdId = $myCustom->hdId;
+            $hd = HdClass::getLockById($hdId);
+            //$hd = HdClass::getByCondition(['shopId'=>$order->shopId, 'userId'=>$order->userId], true, false, 'id,customId,expendAmount');
+            if (!empty($hd)) {
+                $hd->expendAmount = bcadd($hd->expendAmount, $order->realPrice, 2);
+                $hd->save();
+            }
         }
 
         $realPrice = $order->realPrice ?? 0;