From ce2dceec9694bab8a8365b4e5923316093ebd4a8 Mon Sep 17 00:00:00 2001 From: lijianlin Date: Mon, 12 Jan 2026 11:53:37 +0800 Subject: [PATCH] =?UTF-8?q?01-12=20=E5=BE=85=E5=A4=84=E7=90=86=E7=9A=84?= =?UTF-8?q?=E9=80=80=E6=AC=BE=E8=AE=A2=E5=8D=95=E9=80=9A=E8=BF=87=E6=97=B6?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E9=87=91=E5=B8=81=E5=A4=9F=E4=B8=8D=E5=A4=9F?= =?UTF-8?q?=E6=89=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/serviceImpl/coin/AuditServiceImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java index 13a2ec5..5ae13ee 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java @@ -157,6 +157,7 @@ public class AuditServiceImpl implements AuditService { order.getRemark(),0, auditName, "金币充值"); }else if (order.getType()==2) { //退款 + //对非强制退款订单进行退红包校验 if (order.getAuditStatus()!=4){ try { @@ -219,6 +220,15 @@ public class AuditServiceImpl implements AuditService { redMapper.update(order.getJwcode(),type,price.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP)); }//金币充值退款 else if (oldOrder.getType()==0){ + //判断够不够扣 + + if(userNow.getNowPermanentGold().compareTo(BigDecimal.valueOf(Math.abs(order.getPermanentGold()))) < 0 + || userNow.getNowFreeGold().compareTo(BigDecimal.valueOf(Math.abs(order.getFreeDecember() + order.getFreeJune()))) < 0 + || userNow.getNowTaskGold().compareTo(BigDecimal.valueOf(Math.abs(order.getTaskGold()))) < 0){ + log.error("用户余额不足,无法退款"); + throw new IllegalArgumentException("用户余额不足,无法退款"); + + } int type = 1; //红包充值累计 //额外扣金币抵扣红包 if (order.getAuditStatus()==4){