From d8d3b097d7c41b460df91d1285e32a38e5c1bbf5 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 03 Jun 2026 15:27:37 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index f803bef..636d57c 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -173,6 +173,7 @@
                 model.setAddTime(new Date());
                 model.setOrderNo(KeyUtils.getUniqueKey());
                 model.setType(model.getType());
+                model.setDiscountPrice(stockSubscribe.getPrice().multiply(stockSubscribe.getDiscount()).setScale(2, BigDecimal.ROUND_HALF_UP));
             }
 
             ret = userStockSubscribeMapper.insert(model);
@@ -216,7 +217,12 @@
 //                if (userStockSubscribe.getApplyNums() < model.getApplyNumber()) {
 //                    return ServerResponse.createByErrorMsg("中签数量超过申购数量");
 //                }
-                model.setBond(userStockSubscribe.getBuyPrice().multiply(BigDecimal.valueOf(model.getApplyNumber())));
+                if(null != userStockSubscribe.getDiscountPrice() && userStockSubscribe.getDiscountPrice().compareTo(BigDecimal.ZERO) > 0) {
+                    model.setBond(userStockSubscribe.getDiscountPrice().multiply(BigDecimal.valueOf(model.getApplyNumber())));
+                }else {
+                    model.setBond(userStockSubscribe.getBuyPrice().multiply(BigDecimal.valueOf(model.getApplyNumber())));
+                }
+
                 ret = userStockSubscribeMapper.update1(model);
             } else if (model.getStatus() == 2) {
                 ret = userStockSubscribeMapper.update1(model);
@@ -808,7 +814,7 @@
                 userPosition.setOrderStayDays(1);
 
 
-                BigDecimal buy_fee_amt = buy_amt.multiply(siteSetting.getBuyFee()).setScale(2, 4);
+                BigDecimal buy_fee_amt = com.nq.utils.TradeFeeUtil.calcBuyFee(buy_amt);
                 log.info("创建模拟持仓 手续费(配资后总资金 * 百分比) = {}", buy_fee_amt);
                 userPosition.setOrderFee(buy_fee_amt);
 

--
Gitblit v1.9.3