From 9652bbc4a506f46986e298735b27f281ebf06124 Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Fri, 26 Dec 2025 11:39:16 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java | 32 +++++++++++++++++++++-----------
1 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java b/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
index ee3a466..c5de613 100644
--- a/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
@@ -313,7 +313,6 @@
}
-
public ServerResponse updateState(Integer withId, Integer state, String authMsg) throws Exception {
UserWithdraw userWithdraw = this.userWithdrawMapper.selectByPrimaryKey(withId);
SiteSetting siteSetting = siteSettingService.getSiteSetting();
@@ -327,18 +326,27 @@
if (state.intValue() == 3 &&
StringUtils.isBlank(authMsg)) {
return ServerResponse.createByErrorMsg("失败信息必填");
-
+ }
+ User user = this.userMapper.selectById(userWithdraw.getUserId());
+ if (user == null) {
+ return ServerResponse.createByErrorMsg("用户不存在");
+ }
+ UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", user.getId());
+ if (userAssets == null) {
+ return ServerResponse.createByErrorMsg("用户资金账户不存在");
}
if (state == 3) {
- User user = this.userMapper.selectById(userWithdraw.getUserId());
- if (user == null) {
- return ServerResponse.createByErrorMsg("用户不存在");
+ if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
+ BigDecimal subtract = userWithdraw.getWithAmt().subtract(userAssets.getAmountToBeCovered());
+ if(subtract.compareTo(BigDecimal.ZERO) > 0){
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(subtract));
+ userAssets.setAmountToBeCovered(BigDecimal.ZERO);
+ }else{
+ userAssets.setAmountToBeCovered(userAssets.getAmountToBeCovered().subtract(userWithdraw.getWithAmt()));
+ }
+ }else{
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(userWithdraw.getWithAmt()));
}
- UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", user.getId());
- if (userAssets == null) {
- return ServerResponse.createByErrorMsg("用户资金账户不存在");
- }
- userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(userWithdraw.getWithAmt()));
int updateCount = userAssetsMapper.updateById(userAssets);
if (updateCount > 0) {
log.info("提现失败,返还用户资金成功!");
@@ -347,7 +355,10 @@
throw new Exception("修改用户资金出错,抛出异常");
}
userWithdraw.setWithMsg(authMsg);
+ }else{
+ userAssetsMapper.updateById(userAssets);
}
+
userWithdraw.setWithStatus(state);
userWithdraw.setTransTime(new Date());
int updateCount = this.userWithdrawMapper.updateByPrimaryKeySelective(userWithdraw);
@@ -357,7 +368,6 @@
return ServerResponse.createByErrorMsg("操作失败!");
}
-
public int deleteByUserId(Integer userId) {
return this.userWithdrawMapper.deleteByUserId(userId);
}
--
Gitblit v1.9.3