重复支付错误信息优化

This commit is contained in:
gaoqr
2026-06-15 18:12:56 +08:00
parent 836e0039aa
commit 1a245115e0
3 changed files with 17 additions and 3 deletions
@@ -10,5 +10,5 @@ import lombok.Data;
*/
@Data
public class ErrorData {
private String errorData;
private Object[] errorData;
}
@@ -159,4 +159,9 @@ public class PurchaseRecordDO extends BaseDO {
* 第三方支付链接
*/
private String displayContent;
/**
* 支付订单id
*/
private Long payOrderId;
}
@@ -173,7 +173,11 @@ public class PayOrderServiceImpl implements PayOrderService {
PurchaseRecordDO latestPendingPurchase = pendingPurchaseList.stream()
.max(Comparator.comparing(BaseDO::getUpdateTime))
.orElse(null);
throw new ServiceException(ORG_PRODUCT_PURCHASE_WAIT_PAY_ERROR, new ErrorData().setErrorData(latestPendingPurchase.getDisplayContent()), payConfig.getPayExpireTime().toMinutes());
Object[] errorData = new Object[3];
errorData[0] = latestPendingPurchase.getPayOrderId();
errorData[1] = latestPendingPurchase.getPaymentMethod();
errorData[2] = latestPendingPurchase.getDisplayContent();
throw new ServiceException(ORG_PRODUCT_PURCHASE_WAIT_PAY_ERROR, new ErrorData().setErrorData(errorData), payConfig.getPayExpireTime().toMinutes());
}
// 查询组织产品的首次购买记录
@@ -207,6 +211,7 @@ public class PayOrderServiceImpl implements PayOrderService {
// 购买记录入库,记录外部支付请求
purchaseRecordDO.setDisplayContent(payOrderRespDTO.getDisplayContent());
purchaseRecordDO.setPayOrderId(payOrder.getId());
purchaseService.createRecord(purchaseRecordDO);
return payOrderRespDTO;
@@ -247,7 +252,11 @@ public class PayOrderServiceImpl implements PayOrderService {
PurchaseRecordDO latestPendingPurchase = pendingPurchaseList.stream()
.max(Comparator.comparing(BaseDO::getUpdateTime))
.orElse(null);
throw new ServiceException(ORG_PRODUCT_PURCHASE_WAIT_PAY_ERROR, new ErrorData().setErrorData(latestPendingPurchase.getDisplayContent()), payConfig.getPayExpireTime().toMinutes());
Object[] errorData = new Object[3];
errorData[0] = latestPendingPurchase.getPayOrderId();
errorData[1] = latestPendingPurchase.getPaymentMethod();
errorData[2] = latestPendingPurchase.getDisplayContent();
throw new ServiceException(ORG_PRODUCT_PURCHASE_WAIT_PAY_ERROR, new ErrorData().setErrorData(errorData), payConfig.getPayExpireTime().toMinutes());
}
// 查询组织产品的首次购买记录