Browse Source

3.17 现金退款校验与修改钱包余额

milestone-20260224-现金钱包
huangqizhen 3 weeks ago
parent
commit
e34d6afb9d
  1. 6
      src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java
  2. 5
      src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

6
src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

@ -324,6 +324,7 @@ public class CashRefundServiceImpl implements RefundService {
if (cashRecordDone.getNewRefundFree() == null) { if (cashRecordDone.getNewRefundFree() == null) {
cashRecordDone.setNewRefundFree(BigDecimal.valueOf(0)); cashRecordDone.setNewRefundFree(BigDecimal.valueOf(0));
} }
int result = cashRefundMapper.update(cashRecordDone); int result = cashRefundMapper.update(cashRecordDone);
CashRecordDTO cashRecordDTO = cashRefundMapper.selectById(cashRecordDone.getId()); CashRecordDTO cashRecordDTO = cashRefundMapper.selectById(cashRecordDone.getId());
if (result > 0) { if (result > 0) {
@ -516,10 +517,7 @@ public class CashRefundServiceImpl implements RefundService {
.collect(Collectors.toList()); .collect(Collectors.toList());
// 2. 本次退款总金额取绝对值兼容负数 // 2. 本次退款总金额取绝对值兼容负数
BigDecimal totalRefundAmount = BigDecimal.valueOf(userGoldRecord.getPermanentGold()).abs()
.add(BigDecimal.valueOf(userGoldRecord.getTaskGold()).abs())
.add(BigDecimal.valueOf(userGoldRecord.getFreeJune()).abs())
.add(BigDecimal.valueOf(userGoldRecord.getFreeDecember()).abs());
BigDecimal totalRefundAmount = BigDecimal.valueOf(userGoldRecord.getPermanentGold()).abs();
if (totalRefundAmount.compareTo(BigDecimal.ZERO) > 0) { if (totalRefundAmount.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal remainingRefund = totalRefundAmount; BigDecimal remainingRefund = totalRefundAmount;

5
src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

@ -223,10 +223,7 @@ public class AuditServiceImpl implements AuditService {
.collect(Collectors.toList()); .collect(Collectors.toList());
// 2. 本次退款总金额 // 2. 本次退款总金额
BigDecimal totalRefundAmount = BigDecimal.valueOf(order.getPermanentGold())
.add(BigDecimal.valueOf(order.getTaskGold()))
.add(BigDecimal.valueOf(order.getFreeJune()))
.add(BigDecimal.valueOf(order.getFreeDecember()));
BigDecimal totalRefundAmount = BigDecimal.valueOf(order.getPermanentGold());
if (totalRefundAmount.compareTo(BigDecimal.ZERO) > 0) { if (totalRefundAmount.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal remainingRefund = totalRefundAmount; BigDecimal remainingRefund = totalRefundAmount;

Loading…
Cancel
Save