update 校验支付单

This commit is contained in:
2023-10-24 15:33:58 +08:00
parent a4352ebc64
commit 52deb01b7b

View File

@@ -13,6 +13,7 @@ import com.jsowell.adapay.response.QueryPaymentConfirmDetailResponse;
import com.jsowell.adapay.service.AdapayService;
import com.jsowell.adapay.vo.OrderSettleResult;
import com.jsowell.adapay.vo.PaymentInfo;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -507,11 +508,40 @@ public class TempService {
return;
}
List<String> paymentIdList = Lists.newArrayList();
BigDecimal total = BigDecimal.ZERO;
for (AdaPayment adaPayment : adaPayments) {
String pay_mode = adaPayment.getPay_mode();
if (StringUtils.isBlank(pay_mode)) {
// 实时分账的不检查
continue;
}
String status = adaPayment.getStatus();
if (!StringUtils.equals(status, AdapayStatusEnum.SUCCEEDED.getValue())) {
// 不是交易成功的不检查
continue;
}
// 交易金额
BigDecimal payAmt = new BigDecimal(adaPayment.getPay_amt());
// 若为延时分账时,已发起支付撤销的总金额
BigDecimal reservedAmt = new BigDecimal(adaPayment.getReserved_amt());
// 若为延时分账时,已发起支付确认的总金额
BigDecimal confirmedAmt = new BigDecimal(adaPayment.getConfirmed_amt());
BigDecimal subtract = payAmt.subtract(reservedAmt).subtract(confirmedAmt);
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
paymentIdList.add(adaPayment.getId());
total = total.add(subtract);
logger.info("支付单:{}, 支付金额:{}, 总撤销金额:{}, 总确认金额:{}, 剩余金额:{}",
adaPayment.getId(), payAmt, reservedAmt, confirmedAmt, subtract);
}
}
logger.info("{} - {} 期间,共有{}笔支付单存在剩余金额, 共计:{}list:{}", dto.getStartTime(), dto.getEndTime(), paymentIdList.size(), total, JSON.toJSONString(paymentIdList));
}
}