From a1d5268502e9c98ebe7f469bd142fe3330629131 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 15 一月 2025 14:27:30 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java | 37 ++++++++++++++++++++++++++++++++++---
1 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java
index bea2770..c792884 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java
@@ -158,9 +158,9 @@
@PostMapping("/withdrawalCallback")
public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){
Integer status = singlePayCallbackResult.getStatus();
+ String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo();
+ WithdrawalRequests withdrawalRequests = withdrawalRequestsService.getById(merchantOrderNo);
if(203 == status || 205 == status){
- String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo();
- WithdrawalRequests withdrawalRequests = withdrawalRequestsService.getById(merchantOrderNo);
if(1 == withdrawalRequests.getStatus()){
withdrawalRequests.setStatus(2);
withdrawalRequests.setArrivalTime(LocalDateTime.now());
@@ -169,8 +169,39 @@
JSONObject jsonObject = new JSONObject();
jsonObject.put("statusCode", 2001);
return jsonObject;
+ }else{
+ //回退扣除的金额,添加明细记录
+ //修改用户的可提现金额
+ BigDecimal withdrawalAmount = withdrawalRequests.getWithdrawalAmount();
+ AppUser appUser = appUserService.getById(withdrawalRequests.getAppUserId());
+ BigDecimal withdrawableAmount = appUser.getWithdrawableAmount();
+ BigDecimal withdrawnAmount = appUser.getWithdrawnAmount();
+ BigDecimal balance = appUser.getBalance();
+ appUser.setWithdrawableAmount(withdrawableAmount.add(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN));
+ appUser.setWithdrawnAmount(withdrawnAmount.subtract(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN));
+ appUser.setBalance(appUser.getBalance().add(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN));
+ appUserService.updateById(appUser);
+ //添加变动明细
+ BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
+ balanceChangeRecord.setAppUserId(appUser.getId());
+ balanceChangeRecord.setVipId(appUser.getVipId());
+ balanceChangeRecord.setOrderId(withdrawalRequests.getId());
+ balanceChangeRecord.setChangeType(2);
+ balanceChangeRecord.setBeforeAmount(balance);
+ balanceChangeRecord.setChangeAmount(withdrawalAmount);
+ balanceChangeRecord.setAfterAmount(appUser.getBalance());
+ balanceChangeRecord.setDelFlag(0);
+ balanceChangeRecord.setCreateTime(LocalDateTime.now());
+ balanceChangeRecordService.save(balanceChangeRecord);
+
+ withdrawalRequests.setStatus(3);
+ withdrawalRequests.setRemark(singlePayCallbackResult.getErrorCodeDesc());
+ withdrawalRequestsService.updateById(withdrawalRequests);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", 2001);
+ return jsonObject;
}
- return new JSONObject();
}
}
--
Gitblit v1.7.1