Skip to content

服务商查询批量转账订单状态接口,指定DetailStatus时报错 #3023

Description

@wincham

另外如果确认属于bug,而且已明确如何修复,请参考贡献指南直接提交PR,省的浪费时间在这里描述问题,非常感谢配合

简要描述

服务商查询批量转账订单接口,指定detailStatus字段时,报错

模块版本情况

  • WxJava 模块名: weixin-java-pay
  • WxJava 版本号: 4.5.0

详细描述

调用参数:
BatchNumberRequest batchNumberRequest = new BatchNumberRequest();
batchNumberRequest.setBatchId("xxx");
batchNumberRequest.setNeedQueryDetail(true);
batchNumberRequest.setOffset(0);
batchNumberRequest.setDetailStatus("ALL");

    BatchNumberResult batchNumberResult = wxPayService.getPartnerTransferService().queryBatchByBatchId(batchNumberRequest);

返回结果:
异常信息】:无法将输入源“/query/detail_status#2”映射到目标字段“明细状态”中,此字段并非多重字段但被输入源“/query/detail_status”映射过了。

源码bug部分:

PartnerTransferServiceImpl.queryBatchByBatchId(BatchNumberRequest request)
(line 84) String query = String.format("?need_query_detail=%s&detail_status=ALL&offset=%s&limit=%s",
request.getNeedQueryDetail(), request.getOffset(), request.getLimit());
if (StringUtil.isNotBlank(request.getDetailStatus())) {
query += "&detail_status=" + request.getDetailStatus();
}

query里面已经拼接了detail_status字段, 如果传入参数指定了状态,会再拼接一次,导致微信接口返回错

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions