panda 1 년 전
부모
커밋
8b7e21396a
1개의 변경된 파일36개의 추가작업 그리고 28개의 파일을 삭제
  1. 36 28
      application/api/controller/HuiPay.php

+ 36 - 28
application/api/controller/HuiPay.php

@@ -273,37 +273,45 @@ class HuiPay extends Api
             }
         }
 
-        //status已更新过
-        $result = Db::name('pay_order')->where('pay_no', $pay_no)->where('status',$order_info['status'])->setField(['status' => 2]);
-
-        if (!$result) {
-            LogUtil::info('充值入账更新余额失败_status更新状态2不成功', self::LOG_MODULE, __FUNCTION__, [
-                'status' => $order_info['status']
-            ]);
-            return self::response201('充值入账失败');
-        }
+        Db::startTrans();
+        try {
+            //status已更新过
+            $result = Db::name('pay_order')->where('pay_no', $pay_no)->where('status',$order_info['status'])->setField(['status' => 2]);
+            if (!$result) {
+                LogUtil::info('充值入账更新余额失败_status更新状态2不成功', self::LOG_MODULE, __FUNCTION__, [
+                    'status' => $order_info['status']
+                ]);
+                Db::rollback();
+                return self::response201('充值入账失败');
+            }
 
-        //你可以在此编写订单逻辑
-        $payEvent = Db::name('pay_event')->where('pay_no', $pay_no)->find();
-        $args = json_decode($payEvent['args'] ?? '', true);
-        $rechargeM = new \app\common\model\Recharge();
-        if ($extendType == 'gold') {
-            $payRes = $rechargeM->goldpaysucc($pay_no, $args);
-            $payTypeStr = '充值';
-        } elseif ($extendType == 'vip') {
-            $payRes = $rechargeM->vippaysucc($pay_no, $args);
-            $payTypeStr = 'vip';
-        } else {
-            $payRes = false;
-            $payTypeStr = '未知支付类型';
-        }
-        if (!$payRes) {
-            LogUtil::info('更新失败', self::LOG_MODULE, __FUNCTION__, $payTypeStr);
+            //你可以在此编写订单逻辑
+            $payEvent = Db::name('pay_event')->where('pay_no', $pay_no)->find();
+            $args = json_decode($payEvent['args'] ?? '', true);
+            $rechargeM = new \app\common\model\Recharge();
+            if ($extendType == 'gold') {
+                $payRes = $rechargeM->goldpaysucc($pay_no, $args);
+                $payTypeStr = '充值';
+            } elseif ($extendType == 'vip') {
+                $payRes = $rechargeM->vippaysucc($pay_no, $args);
+                $payTypeStr = 'vip';
+            } else {
+                $payRes = false;
+                $payTypeStr = '未知支付类型';
+            }
+            if (!$payRes) {
+                Db::rollback();
+                LogUtil::info('更新失败', self::LOG_MODULE, __FUNCTION__, $payTypeStr);
+                return self::response201('更新失败');
+            }
+            Db::commit();
+            LogUtil::info('订单处理成功', self::LOG_MODULE, __FUNCTION__, $payTypeStr);
+            return self::response200();
+        }catch (\Exception $e){
+            Db::rollback();
+            LogUtil::info('更新失败', self::LOG_MODULE, __FUNCTION__, $e);
             return self::response201('更新失败');
         }
-
-        LogUtil::info('订单处理成功', self::LOG_MODULE, __FUNCTION__, $payTypeStr);
-        return self::response200();
     }
 
     /**