From 071c1c1f0b58ad266bd1cb016f9daf94c0b6367f Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 31 Jul 2025 16:08:34 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/controller/backend/SmartIntradayController.java | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/nq/controller/backend/SmartIntradayController.java b/src/main/java/com/nq/controller/backend/SmartIntradayController.java
index d274597..c805efc 100644
--- a/src/main/java/com/nq/controller/backend/SmartIntradayController.java
+++ b/src/main/java/com/nq/controller/backend/SmartIntradayController.java
@@ -11,6 +11,7 @@
import com.nq.dao.*;
import com.nq.enums.EConfigKey;
import com.nq.enums.EStockType;
+import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
import com.nq.service.*;
import com.nq.service.impl.IntradayOrderSerivceImpl;
@@ -72,7 +73,8 @@
@Autowired
private UserPositionMapper userPositionMapper;
-
+ @Autowired
+ IStockConfigServices iStockConfigServices;
/**
* 添加智能日内
@@ -188,6 +190,9 @@
intradayOrder.setIsLocked(vo.getIsLocked());
intradayOrder.setStockId(stock.getId());
+ // 手续费率
+ BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.BUY_HANDLING_CHARGE.getCode()).getCValue()) ;
+
if(vo.getAuditStatus() == 2){
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
BigDecimal orderAmount = vo.getOrderAmount();
@@ -196,14 +201,18 @@
return ServerResponse.createBySuccessMsg("操作成功");
}
BigDecimal stockQuantity = new BigDecimal(intradayOrder.getStockQuantity());//股票数量
- BigDecimal totalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
+ BigDecimal orderTotalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
+
+ //手续费
+ BigDecimal orderFree = siteSettingBuyFee.multiply(orderTotalPrice);
+ BigDecimal totalPrice = orderFree.add(orderTotalPrice);
+
if(intradayOrder.getOrderAmount().compareTo(totalPrice) < 0){
return ServerResponse.createByErrorMsg("股票总价超过订单金额!");
}
User user = userMapper.selectById(intradayOrder.getUserId());
-
//结余资金返还账户
BigDecimal surplusAmount = intradayOrder.getOrderAmount().subtract(totalPrice);//结余
@@ -222,16 +231,16 @@
userPosition.setBuyOrderId(GeneratePosition.getPositionId());
userPosition.setBuyOrderTime(new Date());
userPosition.setBuyOrderPrice(intradayOrder.getStockPrice());
- userPosition.setOrderDirection((intradayOrder.getPriceType() == 0) ? "买涨" : "买跌");
+ userPosition.setOrderDirection((intradayOrder.getPriceType() == 1) ? "买涨" : "买跌");
userPosition.setOrderNum(intradayOrder.getStockQuantity());
if (stock.getStockPlate() != null) {
userPosition.setStockPlate(stock.getStockPlate());
}
userPosition.setIsLock(intradayOrder.getIsLocked());
userPosition.setOrderLever(1);
- userPosition.setOrderTotalPrice(totalPrice);
+ userPosition.setOrderTotalPrice(orderTotalPrice);
// 手续费
- userPosition.setOrderFee(BigDecimal.ZERO);
+ userPosition.setOrderFee(orderFree);
userPosition.setOrderSpread(BigDecimal.ZERO);
userPosition.setSpreadRatePrice(BigDecimal.ZERO);
BigDecimal profit_and_lose = new BigDecimal("0");
@@ -241,9 +250,9 @@
userPosition.setOrderStayFee(BigDecimal.ZERO);
userPositionMapper.insert(userPosition);
- //结余资金返还账户
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(surplusAmount));
+ userAssets.setFreezeMoney(userPosition.getOrderTotalPrice());
userAssetsMapper.updateById(userAssets);
intradayOrder.setPositionOrder(userPosition.getId());
intradayOrder.setPurchaseAmount(totalPrice);
--
Gitblit v1.9.3