From ab127c54b099f9f8974b351f5ee5244614fece49 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 01 Oct 2024 19:54:06 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index 355b81c..2e39552 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -101,9 +101,6 @@
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
}
- if(userAssets.getAvailableBalance().compareTo(BigDecimal.ZERO) <= 0){
- return ServerResponse.createByErrorMsg("账户余额不足", request);
- }
if ( model.getApplyNums() == null){
// 申请数量为空时返回错误信息
@@ -114,6 +111,11 @@
}
if (model.getApplyNums() > stockSubscribe.getOrderNumber()){
return ServerResponse.createByErrorMsg("最多可申购:" + stockSubscribe.getOrderNumber(), request);
+ }
+
+ BigDecimal sumPrice = stockSubscribe.getPrice().multiply(new BigDecimal(model.getApplyNums()));
+ if(userAssets.getAvailableBalance().compareTo(sumPrice) < 0){
+ return ServerResponse.createByErrorMsg("账户余额不足", request);
}
Date currentDate = new Date();
@@ -246,6 +248,7 @@
if(model.getStatus() == 3 && model.getApplyNumber()>userStockSubscribe.getApplyNums()){
return ServerResponse.createByErrorMsg("配置中签数量不能超过申请数量",request);
}
+
//客户中签直接扣除客户账户可用资金
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", userStockSubscribe.getUserId());
if (model.getStatus() == 3 && model.getApplyNumber() != null){
@@ -277,8 +280,10 @@
}
}
}
- userAssetsMapper.updateById(userAssets);
ret = userStockSubscribeMapper.update1(model);
+ iUserPositionService.newStockToPosition(model.getId(),userAssets.getAmountToBeCovered());//转持仓
+ model.setStatus(5);
+ userAssetsMapper.updateById(userAssets);
}else{
if(model.getApplyNumber()>model.getApplyNums()){
return ServerResponse.createByErrorMsg("配置中签数量不能超过申请数量",request);
@@ -301,7 +306,7 @@
userAssetsMapper.updateById(userAssets);
ret = userStockSubscribeMapper.update1(model);
}else if (model.getStatus() == 5){
- return iUserPositionService.newStockToPosition(model.getId());
+ return iUserPositionService.newStockToPosition(model.getId(),BigDecimal.ZERO);
}
if(ret>0 && model.getStatus() == 3 ){
--
Gitblit v1.9.3