From 9b96b21235ee41b47bfdeaa745ee2e56a119e09e Mon Sep 17 00:00:00 2001
From: peternameyakj <908253177@qq.com>
Date: Sun, 14 Jul 2024 17:54:42 +0800
Subject: [PATCH] 部分平仓
---
src/main/java/com/nq/service/impl/UserAssetsServices.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserAssetsServices.java b/src/main/java/com/nq/service/impl/UserAssetsServices.java
index 9506c9e..7652a08 100644
--- a/src/main/java/com/nq/service/impl/UserAssetsServices.java
+++ b/src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -77,6 +77,13 @@
}else{
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(bigAmt));
}
+ }else{
+ if(userAssets.getAvailableBalance().compareTo(BigDecimal.ZERO) <= 0){
+ return ServerResponse.createByErrorMsg("客户账户余额为0");
+ }else if(userAssets.getAvailableBalance().subtract(bigAmt.abs()).compareTo(BigDecimal.ZERO) < 0){
+ return ServerResponse.createByErrorMsg("客户账户余额不足扣款");
+ }
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(bigAmt));
}
if( userAssetsMapper.updateById(userAssets)>0){
return ServerResponse.createBySuccess();
@@ -110,6 +117,34 @@
return assetsByTypeAndUserId(accetType,userId).getAvailableBalance();
}
+ @Override
+ public int updateById(UserAssets userAssets) {
+ return userAssetsMapper.updateById(userAssets);
+ }
+
+ @Override
+ public Boolean availablebalanceChangePart(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount, BigDecimal freezeMoney) {
+ UserAssets userAssets = assetsByTypeAndUserId(accetType,userId);
+ String before = userAssets.getAvailableBalance().toString();
+ String accectType = userAssets.getAccectType();
+ if(Objects.equals(eUserAssets.getCode(), EUserAssets.PART_CLOSE_POSITION.getCode())){
+ userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
+ userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(freezeMoney));
+ }
+ String after = userAssets.getAvailableBalance().toString();
+ MoneyLog moneyLog = new MoneyLog();
+ moneyLog.setDescs(eUserAssets.getDesc());
+ moneyLog.setBeFore(before);
+ moneyLog.setAfter(after);
+ moneyLog.setAmount(amount.toString());
+ moneyLog.setAccectType(accectType);
+ moneyLog.setType(eUserAssets.getCode());
+ moneyLog.setUserId(userId+"");
+ moneyLog.setSymbol(EStockType.getEStockTypeByCode(accetType).getSymbol());
+ moneyLog.setCreateTime(new Date());
+ moneyLogMapper.insert(moneyLog);
+ return userAssetsMapper.updateById(userAssets)>1;
+ }
@Override
public Boolean availablebalanceChange(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount, String desc, String descType) {
--
Gitblit v1.9.3