ソースを参照

:bug:【微信支付】修复商家转账到零钱-查询批次单needQueryDetail为false时非必传参数为null的问题

wzkris 8 ヶ月 前
コミット
317ccada36

+ 18 - 4
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/TransferServiceImpl.java

@@ -38,8 +38,15 @@ public class TransferServiceImpl implements TransferService {
 
   @Override
   public QueryTransferBatchesResult transferBatchesBatchId(QueryTransferBatchesRequest request) throws WxPayException {
-    String url = String.format("%s/v3/transfer/batches/batch-id/%s?need_query_detail=%s&offset=%s&limit=%s&detail_status=%s",
-      this.payService.getPayBaseUrl(), request.getBatchId(), request.getNeedQueryDetail(), request.getOffset(), request.getLimit(), request.getDetailStatus());
+    String url;
+    if (request.getNeedQueryDetail()) {
+      url = String.format("%s/v3/transfer/batches/batch-id/%s?need_query_detail=true&offset=%s&limit=%s&detail_status=%s",
+        this.payService.getPayBaseUrl(), request.getBatchId(), request.getOffset(), request.getLimit(), request.getDetailStatus());
+    }
+    else {
+      url = String.format("%s/v3/transfer/batches/batch-id/%s?need_query_detail=false",
+        this.payService.getPayBaseUrl(), request.getBatchId());
+    }
     String result = this.payService.getV3(url);
     return GSON.fromJson(result, QueryTransferBatchesResult.class);
   }
@@ -53,8 +60,15 @@ public class TransferServiceImpl implements TransferService {
 
   @Override
   public QueryTransferBatchesResult transferBatchesOutBatchNo(QueryTransferBatchesRequest request) throws WxPayException {
-    String url = String.format("%s/v3/transfer/batches/out-batch-no/%s?need_query_detail=%s&offset=%s&limit=%s&detail_status=%s",
-      this.payService.getPayBaseUrl(), request.getOutBatchNo(), request.getNeedQueryDetail(), request.getOffset(), request.getLimit(), request.getDetailStatus());
+    String url;
+    if (request.getNeedQueryDetail()) {
+      url = String.format("%s/v3/transfer/batches/out-batch-no/%s?need_query_detail=true&offset=%s&limit=%s&detail_status=%s",
+        this.payService.getPayBaseUrl(), request.getOutBatchNo(), request.getOffset(), request.getLimit(), request.getDetailStatus());
+    }
+    else {
+      url = String.format("%s/v3/transfer/batches/out-batch-no/%s?need_query_detail=false",
+        this.payService.getPayBaseUrl(), request.getOutBatchNo());
+    }
     String result = this.payService.getV3(url);
     return GSON.fromJson(result, QueryTransferBatchesResult.class);
   }