From d4bf6ed83ecc4faf6de7604a38fd5533735f0cf2 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 21 Aug 2025 11:52:44 +0800
Subject: [PATCH] 新股申购杠杆修改
---
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index 5e909e2..7a624dc 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -105,6 +105,15 @@
// 申请数量为空时返回错误信息
return ServerResponse.createByErrorMsg("申请数量不能为空", request);
}
+
+ //用户是否杠杆
+ boolean isLever = model.getLever() != null && model.getLever().intValue() > 0;
+ if (isLever) {
+ model.setApplyNums(model.getApplyNums() * model.getLever().intValue());
+ } else {
+ model.setApplyNums(model.getApplyNums() * stockSubscribe.getLever().intValue());
+ }
+
if(model.getApplyNums() < stockSubscribe.getMinNumber() ){
return ServerResponse.createByErrorMsg("最少申购:" + stockSubscribe.getMinNumber(), request);
}
@@ -135,8 +144,6 @@
return ServerResponse.createByErrorMsg("订单失败,帐户已被锁定",request);
}
- model.setApplyNums((int) (model.getApplyNums()*stockSubscribe.getLever()));
-
//计算申购金额
BigDecimal bound;
if (stockSubscribe.getMinPrice() != null && stockSubscribe.getMinPrice().compareTo(BigDecimal.ZERO) > 0) {
@@ -148,7 +155,16 @@
if (!stockSubscribe.getStockType().equals(EStockType.getDefault().getCode())) {
bound = iUserAssetsServices.exchangeAmountByRate(stockSubscribe.getStockType(), bound);
}*/
- if(userAssets.getAvailableBalance().compareTo(bound) < 0){
+
+ //需要资金
+ BigDecimal needBound;
+ //杠杆账户只需初始数量资金
+ if (isLever) {
+ needBound = bound.divide(new BigDecimal(model.getLever()));
+ } else {
+ needBound = bound;
+ }
+ if(userAssets.getAvailableBalance().compareTo(needBound) < 0){
return ServerResponse.createByErrorMsg("账户余额不足", request);
}
--
Gitblit v1.9.3