🐛 #1275 微信支付优化对账单下载解析接口,兼容普通结算对账单

This commit is contained in:
Binary Wang
2019-12-26 17:29:10 +08:00
parent fa1f085e1d
commit 79f85176cb
2 changed files with 61 additions and 33 deletions

View File

@@ -66,16 +66,16 @@ public class WxPayBillResult implements Serializable {
*/
public static WxPayBillResult fromRawBillResultString(String responseContent, String billType) {
switch (billType) {
case "ALL":{
case "ALL": {
return fromRawBillResultString(responseContent);
}
case "SUCCESS":{
case "SUCCESS": {
return fromRawBillResultStringToSuccess(responseContent);
}
case "REFUND" :{
case "REFUND": {
return fromRawBillResultStringToRefund(responseContent);
}
case "RECHARGE_REFUND" :{
case "RECHARGE_REFUND": {
return fromRawBillResultStringToRechargeRefund(responseContent);
}
default: {
@@ -106,7 +106,9 @@ public class WxPayBillResult implements Serializable {
int j = tempStr.length / t.length;
// 纪录数组下标
int k = 1;
// 交易时间,公众账号ID,商户号,特约商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,应结订单金额,代金券金额,微信退款单号,商户退款单号,退款金额,充值券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率,订单金额,申请退款金额,费率备注
// 交易时间,公众账号ID,商户号,特约商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,
// 应结订单金额,代金券金额,微信退款单号,商户退款单号,退款金额,充值券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率,
// 订单金额,申请退款金额,费率备注 (开通免充值券后的结算对账单专有的三个字段)
for (int i = 0; i < j; i++) {
WxPayBillInfo result = new WxPayBillInfo();
result.setTradeTime(tempStr[k].trim());
@@ -133,9 +135,14 @@ public class WxPayBillResult implements Serializable {
result.setAttach(tempStr[k + 21].trim());
result.setPoundage(tempStr[k + 22].trim());
result.setPoundageRate(tempStr[k + 23].trim());
result.setTotalAmount(tempStr[k + 24].trim());
result.setAppliedRefundAmount(tempStr[k + 25].trim());
result.setFeeRemark(tempStr[k + 26].trim());
if (t.length > 24) {
// 开通免充值券后的结算对账单
result.setTotalAmount(tempStr[k + 24].trim());
result.setAppliedRefundAmount(tempStr[k + 25].trim());
result.setFeeRemark(tempStr[k + 26].trim());
}
results.add(result);
k += t.length;
}
@@ -181,7 +188,8 @@ public class WxPayBillResult implements Serializable {
int j = tempStr.length / t.length;
// 纪录数组下标
int k = 1;
// 交易时间,公众账号ID,商户号,特约商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,应结订单金额,代金券金额,商品名称,商户数据包,手续费,费率,订单金额,费率备注
// 交易时间,公众账号ID,商户号,特约商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,
// 应结订单金额,代金券金额,商品名称,商户数据包,手续费,费率,订单金额,费率备注
for (int i = 0; i < j; i++) {
WxPayBillInfo result = new WxPayBillInfo();
result.setTradeTime(tempStr[k].trim());