Browse Source

重复充值问题

shish 11 months ago
parent
commit
5ff2f50693

+ 1 - 6
app-hd/controllers/RechargeController.php

@@ -113,7 +113,7 @@ class RechargeController extends BaseController
                     util::fail('不是你的单');
                 }
                 //判断是否充值过了
-                OrderClass::shOrderRecharge($shOrder);
+                \bizHd\recharge\classes\RechargeClass::checkShOrderRecharge($shOrder);
                 $shOrderSn = $shOrder->orderSn ?? '';
             }
 
@@ -171,11 +171,6 @@ class RechargeController extends BaseController
             //充值成功并且销账
             \bizHd\recharge\classes\RechargeClass::complete($recharge, $payWay, $params);
 
-            if (!empty($shOrderId)) {
-                //售后付款标记为充值了
-                OrderClass::shOrderRecharge($shOrder, true);
-            }
-
             $transaction->commit();
             util::success($post);
         } catch (\Exception $e) {

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

@@ -87,25 +87,6 @@ class OrderClass extends BaseClass
         20000 => [90, 100],
     ];
 
-    /**
-     * 售后付款单是否已经充值过了 ssh 20250801
-     * @param $order
-     * @param $set false 判断是否充值 true 标记为充值
-     */
-    public static function shOrderRecharge($order, $set = false)
-    {
-        $orderId = $order->id;
-        $cacheKey = "sh_order_recharge_" . $orderId;
-        if ($set) {
-            Yii::$app->redis->executeCommand('SETEX', [$cacheKey, 864000, 'has']);
-        } else {
-            $has = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
-            if (!empty($has)) {
-                util::fail('已经充值过了,请勿重复操作');
-            }
-        }
-    }
-
     //因为开负数订单时引导库存变化 ssh 20250731
     public static function shPayChange($order, $shop, $staff, $originOrder = null)
     {

+ 12 - 0
biz-hd/recharge/classes/RechargeClass.php

@@ -337,4 +337,16 @@ class RechargeClass extends BaseClass
         return $returnChange;
     }
 
+    /**
+     * 售后付款单是否已经充值过了 ssh 20250801
+     */
+    public static function checkShOrderRecharge($order)
+    {
+        $orderId = $order->id;
+        $has = self::getByCondition(['shOrderId' => $orderId, 'payStatus' => 1]);
+        if (!empty($has)) {
+            util::fail('已经充值过了,无需再次操作');
+        }
+    }
+
 }

+ 1 - 0
biz/recharge/classes/RechargeClass.php

@@ -10,6 +10,7 @@ use bizHd\merchant\classes\ShopClass;
 use common\components\dict;
 use common\components\noticeUtil;
 use common\components\orderSn;
+use common\components\util;
 
 class RechargeClass extends BaseClass
 {