From 0ebdfd97b5400c864584147bd72a0de768172d6e Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Tue, 27 Jan 2026 10:19:48 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserServiceImpl.java | 49 +++++++++++++++++++++++--------------------------
1 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 4972401..4aaf9f2 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -632,34 +632,31 @@
}
@Override
- public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest request) {
- try {
- User user = userService.getCurrentUser(request);
- UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType,user.getId());
- BigDecimal amtBig = new BigDecimal(amt).abs();
+ @Transactional
+ public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest request) throws Exception {
+ User user = userService.getCurrentUser(request);
+ UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType,user.getId());
+ BigDecimal amtBig = new BigDecimal(amt).abs();
- // 转换手续费率
- BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()).getCValue()) ;
- BigDecimal orderFree = siteSettingBuyFee.multiply(amtBig);
- //资金校验
- BigDecimal needAmt = amtBig.add(orderFree);
- if(formAssets.getAvailableBalance().compareTo(needAmt)<0){
- return ServerResponse.createByErrorMsg("余额不足", request);
- }
-
- if (orderFree.compareTo(BigDecimal.ZERO) > 0) {
- userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
- }
-
- userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.TRANSFER, amtBig.negate(),fromType+"/"+toType,"");
- //转换金额
- amtBig = userAssetsServices.exchangeAmountByRate(fromType, toType, amtBig);
- userAssetsServices.availablebalanceChange(toType,user.getId(), EUserAssets.TRANSFER, amtBig.setScale(5,RoundingMode.HALF_DOWN),fromType+"/"+toType,"");
-
- return ServerResponse.createBySuccess("操作成功", request);
- } catch (Exception e) {
- return ServerResponse.createByErrorMsg(e.getMessage());
+ // 转换手续费率
+ BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()).getCValue()) ;
+ BigDecimal orderFree = siteSettingBuyFee.multiply(amtBig);
+ //资金校验
+ BigDecimal needAmt = amtBig.add(orderFree);
+ if(formAssets.getAvailableBalance().compareTo(needAmt)<0){
+ return ServerResponse.createByErrorMsg("余额不足", request);
}
+
+ if (orderFree.compareTo(BigDecimal.ZERO) > 0) {
+ userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
+ }
+
+ userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.TRANSFER, amtBig.negate(),fromType+"/"+toType,"");
+ //转换金额
+ amtBig = userAssetsServices.exchangeAmountByRate(fromType, toType, amtBig);
+ userAssetsServices.availablebalanceChange(toType,user.getId(), EUserAssets.TRANSFER, amtBig.setScale(5,RoundingMode.HALF_DOWN),fromType+"/"+toType,"");
+
+ return ServerResponse.createBySuccess("操作成功", request);
}
--
Gitblit v1.9.3