shish hace 2 años
padre
commit
97c4953ae6

+ 13 - 1
app-ghs/controllers/OrderClearController.php

@@ -119,7 +119,7 @@ class OrderClearController extends BaseController
             util::fail('没有找到结账单');
         }
         $ghsId = $clear->ghsId ?? 0;
-        $ghs = GhsClass::getById($ghsId, true);
+        $ghs = GhsClass::getLockById($ghsId);
         if ($ghs->shopId != $this->shopId) {
             util::fail('没有权限');
         }
@@ -154,7 +154,19 @@ class OrderClearController extends BaseController
         $connection = Yii::$app->db;
         $transaction = $connection->beginTransaction();
         try {
+
+            $amount = $clear->actPrice ?? 0;
+            $customId = $clear->customId ?? 0;
+            $custom = CustomClass::getLockById($customId);
+            $shop = $this->shop;
+            $staff = $this->shopAdmin;
+            //充值
+            CustomClass::rechargeBalance($custom, $amount, $shop, $staff);
+            //结账
             OrderClearClass::confirmClear($clear, $payWay);
+            $clearInfo = OrderClearClass::getLockById($id);
+            //结账消余额
+            CustomClass::clearConsumeBalance($amount, $custom, $ghs, $shop, $staff, $clearInfo);
             $transaction->commit();
             util::complete();
         } catch (\Exception $exception) {

+ 6 - 2
biz-ghs/custom/classes/CustomClass.php

@@ -113,7 +113,7 @@ class CustomClass extends BaseClass
             'sjId' => $sjId,
             'remark' => '',
         ];
-        CustomBalanceChangeClass::add($cbData, true);
+        $cbc = CustomBalanceChangeClass::add($cbData, true);
 
         $customShopId = $custom->shopId ?? 0;
         $customShop = ShopClass::getById($customShopId, true);
@@ -141,7 +141,11 @@ class CustomClass extends BaseClass
             'shopId' => $customShopId,
             'remark' => '',
         ];
-        GhsBalanceChangeClass::add($gbData, true);
+        $gbc = GhsBalanceChangeClass::add($gbData, true);
+
+        $clear->customBalanceChangeId = $cbc->id ?? 0;
+        $clear->ghsBalanceChangeId = $gbc->id ?? 0;
+        $clear->save();
     }
 
     //充值金额 ssh 20240310