Преглед изворни кода

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

- 兼容多种字段位置提取 amount 值
- 修复当 amount 为 null 时的处理逻辑
- 明确返回格式化后的金额与调试信息
- 移除冗余空行,优化代码结构
shichen пре 8 месеци
родитељ
комит
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
         $amount = $cxbResponseData['extendData']['amount'] + $xfbResponseData['extendData']['amount'];
88
         $amount = $cxbResponseData['extendData']['amount'] + $xfbResponseData['extendData']['amount'];
89
         return $amount;
89
         return $amount;
90
-
91
-
92
     }
90
     }
93
     public function getAmountFromGzc()
91
     public function getAmountFromGzc()
94
     {
92
     {
@@ -107,17 +105,18 @@ trait GzcApiRequest
107
             return app('json')->fail('查询失败(第三方异常)');
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
         $formatted = sprintf('%.2f', $amount);
111
         $formatted = sprintf('%.2f', $amount);
117
 
112
 
113
+        // 从 checkAmount 返回的 debug(若存在)
114
+        $debug = $res['debug'] ?? null;
115
+
116
+        // 返回 amount 与 debug 给调用方(前端 / 调试)
118
         return app('json')->success([
117
         return app('json')->success([
119
             'amount' => $formatted,
118
             'amount' => $formatted,
120
-            'debug'  => $res['debug'] ?? null,
119
+            'debug'  => $debug
121
         ]);
120
         ]);
122
     }
121
     }
123
     /**
122
     /**