From 9dc40f3aa7df3bdd489bd750d59fec8bac741a23 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Thu, 08 Jan 2026 17:48:09 +0800
Subject: [PATCH] 修改

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

diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index d7af8ab..25d7cba 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -98,7 +98,7 @@
             String userJson = RedisShardedPoolUtils.get(header);
             User user = this.iUserService.getCurrentRefreshUser(request);
             if (user == null) {
-                return ServerResponse.createBySuccessMsg("請先登錄");
+                return ServerResponse.createBySuccessMsg("请先登录");
             }
             if (model.getNewCode() != null) {
                 StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<StockSubscribe>().eq("code", model.getNewCode()));
@@ -139,9 +139,9 @@
                     return ServerResponse.createByErrorMsg("申购失败,不在交易时段内");
                 }
 
-                if (model.getApplyNums() == null || model.getApplyNums() > stockSubscribe.getOrderNumber() * 10000) {
-                    return ServerResponse.createByErrorMsg("购买数量异常或大于发行数量" + stockSubscribe.getOrderNumber() * 10000);
-                }
+//                if (model.getApplyNums() == null || model.getApplyNums() > stockSubscribe.getOrderNumber() * 10000) {
+//                    return ServerResponse.createByErrorMsg("购买数量异常或大于发行数量" + stockSubscribe.getOrderNumber() * 10000);
+//                }
                 if (model.getType() == 2) {
                     if (user.getEnableAmt().compareTo(new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice())) < 0) {
                         return ServerResponse.createByErrorMsg("用户可用余额不足,申购条件不满足");
@@ -165,11 +165,15 @@
                 model.setPhone(user.getPhone());
                 model.setBuyPrice(stockSubscribe.getPrice());
 
-                model.setBond(new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice()));
+                model.setBond(BigDecimal.ZERO);
+                model.setApplyNums(0);
+
+//                model.setBond(new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice()));
                 model.setRealName(Objects.equals(user.getRealName(), "") || user.getRealName() == null ? "模拟用户无实名" : user.getRealName());
                 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);
@@ -210,10 +214,15 @@
 //            }
 
             if (model.getStatus() == 3 && model.getApplyNumber() != null) {
-                if (userStockSubscribe.getApplyNums() < model.getApplyNumber()) {
-                    return ServerResponse.createByErrorMsg("中签数量超过申购数量");
+//                if (userStockSubscribe.getApplyNums() < model.getApplyNumber()) {
+//                    return ServerResponse.createByErrorMsg("中签数量超过申购数量");
+//                }
+                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())));
                 }
-                model.setBond(userStockSubscribe.getBuyPrice().multiply(BigDecimal.valueOf(model.getApplyNumber())));
+
                 ret = userStockSubscribeMapper.update1(model);
             } else if (model.getStatus() == 2) {
                 ret = userStockSubscribeMapper.update1(model);

--
Gitblit v1.9.3