shish 1 rok temu
rodzic
commit
1f0be5fd9c

+ 27 - 1
app-mall/controllers/RechargeController.php

@@ -17,7 +17,33 @@ use common\components\lakala\Lakala;
 class RechargeController extends BaseController
 {
 
-    public $guestAccess = ['recharge'];
+    public $guestAccess = [];
+
+    //取消充值订单 ssh 20250721
+    public function actionCancel()
+    {
+        $get = Yii::$app->request->get();
+        $id = $get['id'] ?? 0;
+        $recharge = \bizMall\recharge\classes\RechargeClass::getLockById($id)
+        if (empty($recharge)) {
+            util::fail('没有找到充值记录');
+        }
+        if ($recharge->userId != $this->userId) {
+            util::fail('不是你的充值单');
+        }
+        if ($recharge->shopId != $this->shopId) {
+            util::fail('不是你的充值记录');
+        }
+        if ($recharge->status == 1) {
+            util::fail('已充值成功,不能取消');
+        }
+        if ($recharge->status == 2) {
+            util::fail('已经取消过了');
+        }
+        $shop = $this->shop;
+        \bizMall\recharge\classes\RechargeClass::cancelMyRecharge($recharge, $shop);
+        util::complete('取消成功');
+    }
 
     public function actionList()
     {

+ 3 - 4
biz-hd/recharge/classes/RechargeClass.php

@@ -40,10 +40,7 @@ class RechargeClass extends BaseClass
             }
             foreach ($hasList as $k => $recharge) {
                 $payRequest = $recharge->payRequest ?? 0;
-                if ($payRequest == 0) {
-                    $recharge->status = 2;
-                    $recharge->save();
-                } else {
+                if ($payRequest == 1 || $payRequest == 2) {
                     $closeOrderSn = $recharge->orderSn;
                     $merchantPrivateKeyPath = Yii::getAlias("@vendor/lakala") . '/production/api_private_key.pem';
                     $lklCertificatePath = Yii::getAlias("@vendor/lakala") . '/production/lkl-apigw-v1.cer';
@@ -79,6 +76,8 @@ class RechargeClass extends BaseClass
                         }
                     }
                 }
+                $recharge->status = 2;
+                $recharge->save();
                 $settleId = $recharge->settleId ?? 0;
                 $settle = SettleClass::getById($settleId, true);
                 if (!empty($settle)) {

+ 40 - 0
biz-mall/recharge/classes/RechargeClass.php

@@ -2,14 +2,54 @@
 
 namespace bizMall\recharge\classes;
 
+use bizHd\order\classes\SettleClass;
 use bizMall\base\classes\BaseClass;
 use common\components\imgUtil;
+use common\components\lakala\Lakala;
+use common\components\noticeUtil;
+use common\components\util;
 
 class RechargeClass extends BaseClass
 {
 
     public static $baseFile = '\bizMall\recharge\models\Recharge';
 
+    public static function cancelMyRecharge($recharge, $shop)
+    {
+//        $payRequest = $recharge->payRequest ?? 0;
+//        if ($payRequest == 0) {
+//            $recharge->status = 2;
+//            $recharge->save();
+//        } else {
+//            $closeOrderSn = $recharge->orderSn;
+//            $merchantPrivateKeyPath = Yii::getAlias("@vendor/lakala") . '/production/api_private_key.pem';
+//            $lklCertificatePath = Yii::getAlias("@vendor/lakala") . '/production/lkl-apigw-v1.cer';
+//            $params = [
+//                'appid' => 'OP00002119',
+//                'serial_no' => '018b08cfddbd',
+//                'merchant_no' => $shop->lklSjNo,
+//                'term_no' => $shop->lklScanTermNo,
+//                'merchantPrivateKeyPath' => $merchantPrivateKeyPath,
+//                'lklCertificatePath' => $lklCertificatePath,
+//            ];
+//            $laResource = new Lakala($params);
+//            $closeParams = ['orderSn' => $closeOrderSn];
+//            if ($payRequest == 1) {
+//                //聚合支付
+//                $laResource->close($closeParams);
+//            } else {
+//                //收银台支付
+//                $laResource->cashClose($closeParams);
+//            }
+//        }
+//        $settleId = $recharge->settleId ?? 0;
+//        $settle = SettleClass::getById($settleId, true);
+//        if (!empty($settle)) {
+//            $settle->status = 3;
+//            $settle->save();
+//        }
+    }
+
     public static function getRechargeList($where)
     {
         $data = self::getList('*', $where, 'addTime DESC');