shish пре 3 година
родитељ
комит
67eed35c27

+ 9 - 0
biz-ghs/order/services/RefundOrderService.php

@@ -16,6 +16,7 @@ use bizGhs\order\classes\OrderItemClass;
 use bizGhs\order\classes\RefundOrderClass;
 use bizGhs\order\classes\RefundOrderItemClass;
 use bizGhs\shop\classes\MainClass;
+use bizGhs\shop\classes\ShopMoneyClass;
 use bizGhs\stock\classes\StockRecordClass;
 use bizHd\purchase\classes\PurchaseClass;
 use common\components\dict;
@@ -273,6 +274,14 @@ class RefundOrderService extends BaseService
 
                 //门店余额减少
                 ShopClass::saleRefundReduceBalance($main, $shop, $refund, $refundPrice);
+
+            } elseif ($payWay == dict::getDict('payWay', 'cash')) {
+                $moneyData = [
+                    'shopId' => $shopId,
+                    'amount' => $refundPrice,
+                    'orderSn' => $order->orderSn,
+                ];
+                ShopMoneyClass::ghsRefundHdOutAmount($moneyData, $main);
             } else {
                 //其它线下退款直接完成
                 $order->refundPrice = $refundPrice;

+ 28 - 0
biz-ghs/shop/classes/ShopMoneyClass.php

@@ -55,6 +55,29 @@ class ShopMoneyClass extends BaseClass
         return $respond;
     }
 
+    //供货商给花店发起退款 ssh 20220923
+    public static function ghsRefundHdOutAmount($data, $main)
+    {
+        $amount = $data['amount'] ?? 0;
+        if ($main->money < $amount) {
+            util::fail('现金不足' . $amount . '元');
+        }
+        $main->money = bcsub($main->money, $amount, 2);
+        $main->save();
+        $balance = $main->money ?? 0;
+        $data['balance'] = $balance;
+        $data['io'] = 0;
+        $orderSn = $data['orderSn'] ?? '';
+
+        $event = '客户的订单' . $orderSn . '申请退款,现金减少' . $amount . '元';
+        $capitalType = dict::getDict('capitalType', 'outMoney', 'id');
+        $data['capitalType'] = $capitalType;
+        $data['event'] = $event;
+
+        $respond = self::addData($data);
+        return $respond;
+    }
+
     public static function addData($data)
     {
         $result = self::add($data, true);
@@ -66,7 +89,12 @@ class ShopMoneyClass extends BaseClass
         $event = $data['event'] ?? '';
         $remark = $data['remark'] ?? '';
         $capitalType = $data['capitalType'] ?? 0;
+        $shopId = $data['shopId'] ?? 0;
         $ptStyle = dict::getDict('ptStyle', 'ghs');
+        if (!empty($shopId)) {
+            $shop = ShopClass::getById($shopId, true);
+            $ptStyle = $shop->ptStyle ?? 1;
+        }
         $change = [
             'relateId' => $id,
             'amount' => $amount,