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() List<CreateBatchTransferParams.TransferDetailListItem> encrypted = transferDetailList.stream()
.peek(transferDetailListItem -> { .peek(transferDetailListItem -> {
String userName = transferDetailListItem.getUserName(); String userName = transferDetailListItem.getUserName();
String encryptedUserName = signatureProvider.encryptRequestMessage(userName, x509Certificate); if (StringUtils.hasText(userName)){
transferDetailListItem.setUserName(encryptedUserName); String encryptedUserName = signatureProvider.encryptRequestMessage(userName, x509Certificate);
transferDetailListItem.setUserName(encryptedUserName);
}
String userIdCard = transferDetailListItem.getUserIdCard(); String userIdCard = transferDetailListItem.getUserIdCard();
if (StringUtils.hasText(userIdCard)) { if (StringUtils.hasText(userIdCard)) {
String encryptedUserIdCard = signatureProvider.encryptRequestMessage(userIdCard, x509Certificate); String encryptedUserIdCard = signatureProvider.encryptRequestMessage(userIdCard, x509Certificate);
@@ -110,20 +112,7 @@ public class WechatBatchTransferApi extends AbstractApi {
public WechatResponseEntity<ObjectNode> queryBatchByBatchId(QueryBatchTransferParams queryBatchTransferParams) { public WechatResponseEntity<ObjectNode> queryBatchByBatchId(QueryBatchTransferParams queryBatchTransferParams) {
WechatResponseEntity<ObjectNode> wechatResponseEntity = new WechatResponseEntity<>(); WechatResponseEntity<ObjectNode> wechatResponseEntity = new WechatResponseEntity<>();
this.client().withType(WechatPayV3Type.BATCH_TRANSFER_BATCH_ID, queryBatchTransferParams) this.client().withType(WechatPayV3Type.BATCH_TRANSFER_BATCH_ID, queryBatchTransferParams)
.function((type, params) -> { .function(this::apply)
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);
})
.consumer(wechatResponseEntity::convert) .consumer(wechatResponseEntity::convert)
.request(); .request();
return wechatResponseEntity; return wechatResponseEntity;
@@ -402,4 +391,19 @@ public class WechatBatchTransferApi extends AbstractApi {
.request(); .request();
return wechatResponseEntity; 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);
}
} }