From b9b0b7bd2a50063f56ac572d4d87c5da12c175a3 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 29 Jul 2025 17:00:38 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/controller/backend/SmartIntradayController.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/nq/controller/backend/SmartIntradayController.java b/src/main/java/com/nq/controller/backend/SmartIntradayController.java
index 8a09887..a788a5b 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();
@@ -197,13 +202,17 @@
         }
         BigDecimal stockQuantity = new BigDecimal(intradayOrder.getStockQuantity());//股票数量
         BigDecimal totalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
+
+        //手续费
+        BigDecimal orderFree = siteSettingBuyFee.multiply(totalPrice);
+        totalPrice = orderFree.add(totalPrice);
+
         if(intradayOrder.getOrderAmount().compareTo(totalPrice) < 0){
             return ServerResponse.createByErrorMsg("股票总价超过订单金额!");
         }
 
 
         User user = userMapper.selectById(intradayOrder.getUserId());
-
 
         //结余资金返还账户
         BigDecimal surplusAmount = intradayOrder.getOrderAmount().subtract(totalPrice);//结余
@@ -231,7 +240,7 @@
         userPosition.setOrderLever(1);
         userPosition.setOrderTotalPrice(totalPrice);
         // 手续费
-        userPosition.setOrderFee(BigDecimal.ZERO);
+        userPosition.setOrderFee(orderFree);
         userPosition.setOrderSpread(BigDecimal.ZERO);
         userPosition.setSpreadRatePrice(BigDecimal.ZERO);
         BigDecimal profit_and_lose = new BigDecimal("0");

--
Gitblit v1.9.3