shish пре 1 година
родитељ
комит
815e305d2b
1 измењених фајлова са 20 додато и 16 уклоњено
  1. 20 16
      biz-hd/recharge/classes/RechargeClass.php

+ 20 - 16
biz-hd/recharge/classes/RechargeClass.php

@@ -137,16 +137,16 @@ class RechargeClass extends BaseClass
             }
         }
 
-        $totalAmount = $amount;
+        $getBalance = $amount;
         $event = $onlinePay == 2 ? '线上充值' : '线下充值';
         //赠送的金额
         if ($addGiveAmount > 0) {
-            $event .= floatval($totalAmount) . "(送" . floatval($addGiveAmount) . ")";
-            $totalAmount = bcadd($totalAmount, $addGiveAmount, 2);
+            $event .= floatval($getBalance) . "(送" . floatval($addGiveAmount) . ")";
+            $getBalance = bcadd($getBalance, $addGiveAmount, 2);
         }
-        $custom->balance = bcadd($custom->balance, $totalAmount, 2);
+        $custom->balance = bcadd($custom->balance, $getBalance, 2);
         $custom->save();
-        $hd->balance = bcadd($hd->balance, $totalAmount, 2);
+        $hd->balance = bcadd($hd->balance, $getBalance, 2);
         $hd->save();
         if ($hd->balance != $custom->balance) {
             $msg = '充值金额不一致。编号:' . floatval($hd->balance) . ' / ' . floatval($custom->balance);
@@ -156,8 +156,9 @@ class RechargeClass extends BaseClass
 
         $settleId = $recharge->settleId;
         $settleAmount = 0;
+        $settleNo = '';
         $lastClearOrderId = 0;
-        $lastClearOrderSn = '';
+        $lastClearOrderNo = '';
         $realClearAmount = 0;
         $lastClearOrderAmount = 0;
         if (!empty($settleId)) {
@@ -166,30 +167,31 @@ class RechargeClass extends BaseClass
             $res = SettleClass::clearSettle($set);
             $realClearAmount = $res['totalDebtPrice'] ?? 0;
             $settleAmount = $set->actPrice ?? 0;
+            $settleNo = $set->orderSn ?? '';
         } else {
             //没有结账单,按顺序去销账,这里的逻辑,请去查看原型文档,来理解需求
             $orderList = OrderClass::getAllByCondition(['customId' => $customId, 'debt' => 1], 'id asc', '*', null, true);
             if (!empty($orderList)) {
-                $totalRemainAmount = 0;
+                $lastRemainDebtAmount = 0;
                 $needClearIds = [];
                 $hasOver = false;
                 foreach ($orderList as $order) {
                     $orderId = $order->id ?? 0;
                     $remainDebtPrice = $order->remainDebtPrice ?? 0;
-                    $currentTotal = bcadd($totalRemainAmount, $remainDebtPrice, 2);
-                    if ($currentTotal > $totalAmount) {
+                    $currentTotalDebtAmount = bcadd($lastRemainDebtAmount, $remainDebtPrice, 2);
+                    if ($currentTotalDebtAmount > $getBalance) {
                         //如果剩下的钱不够销结账单,可以拿来销订单,具体请查看原型文档来理解
                         if (!$hasOver) {
-                            $lastClearOrderAmount = bcsub($totalAmount, $totalRemainAmount, 2);
+                            $lastClearOrderAmount = bcsub($getBalance, $lastRemainDebtAmount, 2);
                             if ($lastClearOrderAmount > 0) {
                                 $lastClearOrderId = $orderId;
-                                $lastClearOrderSn = $order->orderSn ?? '';
+                                $lastClearOrderNo = $order->orderSn ?? '';
                             }
                         }
                         $hasOver = true;
                         continue;
                     }
-                    $totalRemainAmount = bcadd($totalRemainAmount, $remainDebtPrice, 2);
+                    $lastRemainDebtAmount = bcadd($lastRemainDebtAmount, $remainDebtPrice, 2);
                     $needClearIds[] = $orderId;
                 }
                 if (!empty($needClearIds)) {
@@ -200,6 +202,7 @@ class RechargeClass extends BaseClass
                     $settleParams = ['staffId' => $staffId, 'staffName' => $staffName];
                     $set = SettleClass::addSettle($orderData, $shop, $custom, $hd, $settleParams);
                     $settleId = $set->id;
+                    $settleNo = $set->orderSn ?? '';
                     $settleAmount = $set->actPrice ?? 0;
                     $res = SettleClass::clearSettle($set);
                     $realClearAmount = $res['totalDebtPrice'] ?? 0;
@@ -207,9 +210,9 @@ class RechargeClass extends BaseClass
             }
         }
         if ($settleId > 0) {
-            if (floatval($totalAmount) != floatval($realClearAmount) || floatval($totalAmount) != floatval($settleAmount)) {
+            if (floatval($getBalance) != floatval($realClearAmount) || floatval($getBalance) != floatval($settleAmount)) {
                 $rechargeId = $recharge->id;
-                noticeUtil::push("注意,充值单,结账单,和实际清掉欠款金额不一致:{$totalAmount} {$realClearAmount} {$settleAmount},settleId:{$settleId} recharge:{$rechargeId}", '15280215347');
+                noticeUtil::push("注意,充值单,结账单,和实际清掉欠款金额不一致:{$getBalance} {$realClearAmount} {$settleAmount},settleId:{$settleId} recharge:{$rechargeId}", '15280215347');
             }
         }
 
@@ -219,7 +222,7 @@ class RechargeClass extends BaseClass
             'relateId' => $relateId,
             'onlinePay' => $onlinePay,
             'capitalType' => $capitalType,
-            'amount' => $totalAmount,
+            'amount' => $getBalance,
             'balance' => $hd->balance,
             'io' => 1,
             'side' => $side,
@@ -230,9 +233,10 @@ class RechargeClass extends BaseClass
             'shopId' => $shopId,
             'mainId' => $mainId,
             'settleId' => $settleId,
+            'settleNo' => $settleNo,
             'settleAmount' => $settleAmount,
             'orderId' => $lastClearOrderId,
-            'orderSn' => $lastClearOrderSn,
+            'orderNo' => $lastClearOrderNo,
             'orderAmount' => $lastClearOrderAmount,
             'remark' => '',
         ];