fix: 批量转账到零钱金额小于2000 userName是可以非必填的

Closes #85
This commit is contained in:
xiafang
2023-01-03 09:25:10 +08:00
parent 0ebe58ae09
commit 1742437c2c

View File

@@ -82,8 +82,10 @@ public class WechatBatchTransferApi extends AbstractApi {
List<CreateBatchTransferParams.TransferDetailListItem> encrypted = transferDetailList.stream()
.peek(transferDetailListItem -> {
String userName = transferDetailListItem.getUserName();
String encryptedUserName = signatureProvider.encryptRequestMessage(userName, x509Certificate);
transferDetailListItem.setUserName(encryptedUserName);
if (StringUtils.hasText(userName)){
String encryptedUserName = signatureProvider.encryptRequestMessage(userName, x509Certificate);
transferDetailListItem.setUserName(encryptedUserName);
}
String userIdCard = transferDetailListItem.getUserIdCard();
if (StringUtils.hasText(userIdCard)) {
String encryptedUserIdCard = signatureProvider.encryptRequestMessage(userIdCard, x509Certificate);
@@ -110,20 +112,7 @@ public class WechatBatchTransferApi extends AbstractApi {
public WechatResponseEntity<ObjectNode> queryBatchByBatchId(QueryBatchTransferParams queryBatchTransferParams) {
WechatResponseEntity<ObjectNode> wechatResponseEntity = new WechatResponseEntity<>();
this.client().withType(WechatPayV3Type.BATCH_TRANSFER_BATCH_ID, queryBatchTransferParams)
.function((type, params) -> {
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
queryParams.add("need_query_detail", params.getNeedQueryDetail().toString());
queryParams.add("offset", params.getOffset().toString());
queryParams.add("limit", params.getLimit().toString());
queryParams.add("detail_status", params.getDetailStatus().name());
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA))
.queryParams(queryParams)
.build()
.expand(params.getCode())
.toUri();
return Get(uri);
})
.function(this::apply)
.consumer(wechatResponseEntity::convert)
.request();
return wechatResponseEntity;
@@ -402,4 +391,19 @@ public class WechatBatchTransferApi extends AbstractApi {
.request();
return wechatResponseEntity;
}
private RequestEntity<?> apply(WechatPayV3Type type, QueryBatchTransferParams params) {
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
queryParams.add("need_query_detail", params.getNeedQueryDetail().toString());
queryParams.add("offset", params.getOffset().toString());
queryParams.add("limit", params.getLimit().toString());
queryParams.add("detail_status", params.getDetailStatus().name());
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA))
.queryParams(queryParams)
.build()
.expand(params.getCode())
.toUri();
return Get(uri);
}
}