From ad35d23bdd072d7179eb4bfcb588975f37a68f53 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 07 May 2025 00:32:57 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserAssetsServices.java | 30 +++++++++++++++++++++++++++++-
1 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 20cc581..cad5d50 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -7,8 +7,10 @@
import com.nq.dao.*;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
+import com.nq.enums.TradeType;
import com.nq.pojo.*;
import com.nq.service.IUserAssetsServices;
+import com.nq.service.TransactionLogService;
import com.nq.utils.KeyUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -51,6 +53,8 @@
@Autowired
StockConfigMapper stockConfigMapper;
+ @Autowired
+ TransactionLogService transactionLogService;
@Override
public UserAssets assetsByTypeAndUserId(String accetType, Integer userId) {
if(accetType.equals("SZHB")){
@@ -179,6 +183,22 @@
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
}
userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(amount));
+ }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.THE_DEPOSIT_WILL_BE_RETURNED_IF_THE_ORDER_IS_CANCELLED.getCode())){
+ if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
+ BigDecimal availableBalance = amount.subtract(userAssets.getAmountToBeCovered());
+ availableBalance = availableBalance.subtract(userAssets.getHandlingChargeWritten());
+ if(availableBalance.compareTo(BigDecimal.ZERO) >= 0){
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(availableBalance));
+ userAssets.setAmountToBeCovered(BigDecimal.ZERO);
+ userAssets.setHandlingChargeWritten(BigDecimal.ZERO);
+ }else{
+ BigDecimal amountToBeCovered = userAssets.getAmountToBeCovered().subtract(amount);
+ userAssets.setAmountToBeCovered(amountToBeCovered);
+ }
+ }else{
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
+ }
+ userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(amount));
}else if(Objects.equals(eUserAssets.getCode(), EUserAssets.CALCULATE_PROFIT_AND_LOSS.getCode())){
extracted(amount, userAssets);
}else if(Objects.equals(eUserAssets.getCode(), EUserAssets.TRANSFER.getCode())){
@@ -242,7 +262,15 @@
moneyLog.setSymbol(EStockType.getEStockTypeByCode(accetType).getSymbol());
moneyLog.setCreateTime(new Date());
moneyLogMapper.insert(moneyLog);
- return userAssetsMapper.updateById(userAssets)>1;
+ int update = userAssetsMapper.updateById(userAssets);
+ if(update > 0){
+ if(Objects.equals(eUserAssets.getCode(), EUserAssets.HANDLING_CHARGE.getCode())){
+ amount = amount.negate();
+ }
+ transactionLogService.add(userId, eUserAssets.getDesc(),amount.toString(),eUserAssets.getDesc());
+ return true;
+ }
+ return false;
}
@Override
--
Gitblit v1.9.3