From cfa92ce4773148f85db0a940bf392ce98d5dcc85 Mon Sep 17 00:00:00 2001 From: jsowell <123@jsowell.com> Date: Thu, 28 May 2026 14:08:10 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdapayUnsplitRecordHandleServiceImpl.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/jsowell-quartz/src/main/java/com/jsowell/quartz/service/impl/AdapayUnsplitRecordHandleServiceImpl.java b/jsowell-quartz/src/main/java/com/jsowell/quartz/service/impl/AdapayUnsplitRecordHandleServiceImpl.java index 2ab8938f2..23c6cbba5 100644 --- a/jsowell-quartz/src/main/java/com/jsowell/quartz/service/impl/AdapayUnsplitRecordHandleServiceImpl.java +++ b/jsowell-quartz/src/main/java/com/jsowell/quartz/service/impl/AdapayUnsplitRecordHandleServiceImpl.java @@ -1068,37 +1068,40 @@ public class AdapayUnsplitRecordHandleServiceImpl implements AdapayUnsplitRecord return latestRemaining.compareTo(BigDecimal.ZERO) > 0 ? latestRemaining : BigDecimal.ZERO; } + private AdapayUnsplitRecord buildUpdateRecordByPaymentId(String paymentId) { + List existingRecords = adapayUnsplitRecordService.selectByPaymentIds(Lists.newArrayList(paymentId)); + AdapayUnsplitRecord record = new AdapayUnsplitRecord(); + record.setPaymentId(paymentId); + record.setUpdateTime(DateUtils.getNowDate()); + if (CollectionUtils.isNotEmpty(existingRecords)) { + record.setId(existingRecords.get(0).getId()); + } + return record; + } + private void updateConfirmedSplitAmount(AdapayUnsplitRecordVO item, BigDecimal confirmAmt, String paymentId) { BigDecimal oldConfirmedAmt = parseAmount(item.getConfirmedSplitAmount()); BigDecimal newConfirmedAmt = oldConfirmedAmt.add(confirmAmt).setScale(2, BigDecimal.ROUND_HALF_UP); - AdapayUnsplitRecord updateRecord = new AdapayUnsplitRecord(); - updateRecord.setPaymentId(paymentId); + AdapayUnsplitRecord updateRecord = buildUpdateRecordByPaymentId(paymentId); updateRecord.setConfirmedSplitAmount(newConfirmedAmt); - updateRecord.setUpdateTime(DateUtils.getNowDate()); adapayUnsplitRecordService.insertOrUpdateSelective(updateRecord); } private void markSplitResult(String paymentId, String splitFlag) { - AdapayUnsplitRecord updateRecord = new AdapayUnsplitRecord(); - updateRecord.setPaymentId(paymentId); + AdapayUnsplitRecord updateRecord = buildUpdateRecordByPaymentId(paymentId); updateRecord.setSplitFlag(splitFlag); - updateRecord.setUpdateTime(DateUtils.getNowDate()); adapayUnsplitRecordService.insertOrUpdateSelective(updateRecord); } private void updateRefundAmount(String paymentId, BigDecimal refundAmount) { - AdapayUnsplitRecord updateRecord = new AdapayUnsplitRecord(); - updateRecord.setPaymentId(paymentId); + AdapayUnsplitRecord updateRecord = buildUpdateRecordByPaymentId(paymentId); updateRecord.setRefundAmount(refundAmount.setScale(2, BigDecimal.ROUND_HALF_UP)); - updateRecord.setUpdateTime(DateUtils.getNowDate()); adapayUnsplitRecordService.insertOrUpdateSelective(updateRecord); } private void markRefundResult(String paymentId, String refundFlag) { - AdapayUnsplitRecord updateRecord = new AdapayUnsplitRecord(); - updateRecord.setPaymentId(paymentId); + AdapayUnsplitRecord updateRecord = buildUpdateRecordByPaymentId(paymentId); updateRecord.setRefundFlag(refundFlag); - updateRecord.setUpdateTime(DateUtils.getNowDate()); adapayUnsplitRecordService.insertOrUpdateSelective(updateRecord); }