Просмотр исходного кода

fix(GzcApiRequest): 优化金额获取逻辑并增强调试信息返回

- 兼容多种字段位置提取 amount 值
- 修复当 amount 为 null 时的处理逻辑
- 明确返回格式化后的金额与调试信息
- 移除冗余空行,优化代码结构
shichen месяцев назад: 8
Родитель
Сommit
f36bfdac9b
1 измененных файлов с 8 добавлено и 9 удалено
  1. 8 9
      app/traits/GzcApiRequest.php

+ 8 - 9
app/traits/GzcApiRequest.php

@@ -87,8 +87,6 @@ trait GzcApiRequest
87 87
 
88 88
         $amount = $cxbResponseData['extendData']['amount'] + $xfbResponseData['extendData']['amount'];
89 89
         return $amount;
90
-
91
-
92 90
     }
93 91
     public function getAmountFromGzc()
94 92
     {
@@ -107,17 +105,18 @@ trait GzcApiRequest
107 105
             return app('json')->fail('查询失败(第三方异常)');
108 106
         }
109 107
 
110
-        if (!is_array($res) || ($res['code'] ?? -1) !== 0) {
111
-            return app('json')->fail($res['message'] ?? '查询失败');
112
-        }
113
-
114
-        $amountCents = $res['extendData']['amount'] ?? $res['data']['amount'] ?? $res['amount'] ?? 0;
115
-        $amount = floatval($amountCents) * 0.01;
108
+        // 提取 amount(兼容多种字段位置)
109
+        $amountCents = $res['extendData']['amount'] ?? $res['data']['amount'] ?? $res['amount'] ?? null;
110
+        $amount = $amountCents === null ? 0.0 : floatval($amountCents) * 0.01;
116 111
         $formatted = sprintf('%.2f', $amount);
117 112
 
113
+        // 从 checkAmount 返回的 debug(若存在)
114
+        $debug = $res['debug'] ?? null;
115
+
116
+        // 返回 amount 与 debug 给调用方(前端 / 调试)
118 117
         return app('json')->success([
119 118
             'amount' => $formatted,
120
-            'debug'  => $res['debug'] ?? null,
119
+            'debug'  => $debug
121 120
         ]);
122 121
     }
123 122
     /**