seven 16 hours ago
parent
commit
cafed92ee3

+ 16 - 1
app/Http/Controllers/admin/PaymentOrder.php

@@ -1,5 +1,6 @@
 <?php
 
+
 namespace App\Http\Controllers\admin;
 
 use App\Constants\HttpStatus;
@@ -39,7 +40,21 @@ class PaymentOrder extends Controller
             return $this->error(intval($e->getCode()));
         }
         return $this->success($result);
+    }
 
-
+    /**
+     * @description: 查询订单的支付情况
+     * @return {*}
+     */    
+    public function check()
+    {
+        $order_no = request()->input('order_no');
+        try {
+            $result = PaymentOrderService::singlePayOrder($order_no);
+            $this->success([],$result['message'] ?? '操作成功');
+        } catch (Exception $e) {
+            return $this->error(intval($e->getCode()));
+        }
+        return $this->success();
     }
 }

+ 53 - 0
app/Services/PaymentOrderService.php

@@ -602,6 +602,59 @@ class PaymentOrderService extends BaseService
 
     }
 
+    /**
+     * @description: 查询支付订单
+     * @param {*} $orderNo
+     * @return {*}
+     */    
+    public static function singlePayOrder($orderNo)
+    {
+        $msg = [];
+        $msg['code'] = self::NOT;
+        $info = self::findOne(['order_no' => $orderNo]);
+        if ($info && $info->status == self::STATUS_PROCESS) {
+            $ret = SanJinService::queryOrder($orderNo);
+            Log::error('三斤支付查询订单:',$ret);
+            if($ret['code'] == 0){
+                $item= [];
+                $item['state'] = $ret['data']['state'];
+                if($ret['data']['state'] == 1){
+                    $item['status'] = self::STATUS_SUCCESS;
+                    $info->update($item);
+
+                    $wallet = WalletService::findOne(['member_id' => $info->member_id]);
+                    $balance = $wallet->available_balance;
+                    $available_balance = bcadd($balance, $info->amount, 10);
+                    $wallet->available_balance = $available_balance;
+                    $wallet->save();
+
+                    // 记录余额变动日志
+                    BalanceLogService::addLog(
+                        $info->member_id,
+                        $info->amount,
+                        $balance,
+                        $available_balance,
+                        '三方充值',
+                        $info->id,
+                        ''
+                    );
+
+                    $msg['code'] = self::YES;
+                    $msg['msg'] = '支付成功';
+                }else{
+                    $msg['msg'] = '支付中';
+                }
+
+            }else{
+                $msg['msg'] = '查询失败:'.$ret['message'];
+            }
+        }else{
+            $msg['msg'] = '该状态无法查询';
+        }
+
+        return $msg;
+        
+    }
 
     public static function syncPayOrder()
     {

+ 1 - 0
routes/admin.php

@@ -52,6 +52,7 @@ Route::middleware(['admin.jwt'])->group(function () {
 
         Route::prefix("/paymentOrder")->group(function () {
             Route::get('/', [PaymentOrder::class, 'index']);
+            Route::get('/check', [PaymentOrder::class, 'check']);
         });