From 9c638d29f43035bb224996f3183a58d761cd526e Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Sun, 11 Jan 2026 18:21:39 +0800
Subject: [PATCH] 1.11文档修改

---
 src/main/java/com/nq/service/impl/UserPositionServiceImpl.java |  238 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 120 insertions(+), 118 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index d05dfe4..377b1fd 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -569,7 +569,7 @@
         if (!am_flag && !pm_flag && siteProduct.getTranWithdrawDisplay()) {
             return ServerResponse.createByErrorMsg("挂单失败,不在交易时段内");
         }
-        if (siteProduct.getHolidayDisplay()) {
+        if (siteProduct.getHolidayDisplay() && siteProduct.getTranWithdrawDisplay()) {
             return ServerResponse.createByErrorMsg("周末或节假日不能交易!");
         }
 
@@ -585,11 +585,6 @@
                     .getBuySameNums() + "条");
         }
 
-        Integer transNum = findPositionNumByTimes(siteSetting.getBuyNumTimes().intValue(), user.getId());
-        if (transNum.intValue() / 100 >= siteSetting.getBuyNumLots().intValue() && siteProduct.getTranWithdrawDisplay()) {
-            return ServerResponse.createByErrorMsg("频繁交易," + siteSetting
-                    .getBuyNumTimes() + "分钟内不能超过" + siteSetting.getBuyNumLots() + "手");
-        }
 
         if (buyNum.intValue() < siteSetting.getBuyMinNum().intValue()) {
             return ServerResponse.createByErrorMsg("挂单失败,购买数量小于" + siteSetting
@@ -621,9 +616,9 @@
             log.info("【普通A股】");
         }
 
-        if (stockListVO.getName().startsWith("ST") || stockListVO.getName().endsWith("退")) {
-            return ServerResponse.createByErrorMsg("ST和已退市的股票不能入仓");
-        }
+//        if (stockListVO.getName().startsWith("ST") || stockListVO.getName().endsWith("退")) {
+//            return ServerResponse.createByErrorMsg("ST和已退市的股票不能入仓");
+//        }
 
         BigDecimal zsPrice = new BigDecimal(stockListVO.getPreclose_px());
 
@@ -633,67 +628,67 @@
 
         BigDecimal ztRate = chaPrice.multiply(new BigDecimal("100")).divide(zsPrice, 2, 4);
 
-        log.info("当前涨跌幅 = {} % , 涨停幅度 = {} %", Double.valueOf(stock_crease), ztRate);
-        if ((new BigDecimal(String.valueOf(stock_crease))).compareTo(ztRate) == 0 && buyType
-                .intValue() == 0 && siteProduct.getTranWithdrawDisplay()) {
-            return ServerResponse.createByErrorMsg("当前股票已涨停不能买涨");
-        }
-        if (stock.getStockPlate() == null || StringUtils.isEmpty(stock.getStockPlate())) {
-
-            int maxcrease = siteSetting.getCreaseMaxPercent().intValue();
-            if (stock_crease > 0.0D &&
-                    stock_crease >= maxcrease && siteProduct.getTranWithdrawDisplay()) {
-                return ServerResponse.createByErrorMsg("挂单失败,股票当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
-            }
-
-
-            if (stock_crease < 0.0D &&
-                    -stock_crease > maxcrease && siteProduct.getTranWithdrawDisplay()) {
-                return ServerResponse.createByErrorMsg("挂单失败,股票当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
-
-            }
-
-        } else if ("创业".equals(stock.getStockPlate())) {
-
-            int maxcrease = siteSetting.getCyCreaseMaxPercent().intValue();
-            if (stock_crease > 0.0D &&
-                    stock_crease >= maxcrease && siteProduct.getTranWithdrawDisplay()) {
-                return ServerResponse.createByErrorMsg("挂单失败,创业股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
-            }
-
-
-            if (stock_crease < 0.0D &&
-                    -stock_crease > maxcrease && siteProduct.getTranWithdrawDisplay()) {
-                return ServerResponse.createByErrorMsg("挂单失败,创业股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
-            }
-        } else {
-
-            int maxcrease = siteSetting.getKcCreaseMaxPercent().intValue();
-            if (stock_crease > 0.0D &&
-                    stock_crease >= maxcrease && siteProduct.getTranWithdrawDisplay()) {
-                return ServerResponse.createByErrorMsg("挂单失败,科创股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
-            }
-
-
-            if (stock_crease < 0.0D &&
-                    -stock_crease > maxcrease && siteProduct.getTranWithdrawDisplay()) {
-                return ServerResponse.createByErrorMsg("挂单失败,科创股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
-            }
-        }
+//        log.info("当前涨跌幅 = {} % , 涨停幅度 = {} %", Double.valueOf(stock_crease), ztRate);
+//        if ((new BigDecimal(String.valueOf(stock_crease))).compareTo(ztRate) == 0 && buyType
+//                .intValue() == 0 && siteProduct.getTranWithdrawDisplay()) {
+//            return ServerResponse.createByErrorMsg("当前股票已涨停不能买涨");
+//        }
+//        if (stock.getStockPlate() == null || StringUtils.isEmpty(stock.getStockPlate())) {
+//
+//            int maxcrease = siteSetting.getCreaseMaxPercent().intValue();
+//            if (stock_crease > 0.0D &&
+//                    stock_crease >= maxcrease && siteProduct.getTranWithdrawDisplay()) {
+//                return ServerResponse.createByErrorMsg("挂单失败,股票当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
+//            }
+//
+//
+//            if (stock_crease < 0.0D &&
+//                    -stock_crease > maxcrease && siteProduct.getTranWithdrawDisplay()) {
+//                return ServerResponse.createByErrorMsg("挂单失败,股票当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
+//
+//            }
+//
+//        } else if ("创业".equals(stock.getStockPlate())) {
+//
+//            int maxcrease = siteSetting.getCyCreaseMaxPercent().intValue();
+//            if (stock_crease > 0.0D &&
+//                    stock_crease >= maxcrease && siteProduct.getTranWithdrawDisplay()) {
+//                return ServerResponse.createByErrorMsg("挂单失败,创业股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
+//            }
+//
+//
+//            if (stock_crease < 0.0D &&
+//                    -stock_crease > maxcrease && siteProduct.getTranWithdrawDisplay()) {
+//                return ServerResponse.createByErrorMsg("挂单失败,创业股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
+//            }
+//        } else {
+//
+//            int maxcrease = siteSetting.getKcCreaseMaxPercent().intValue();
+//            if (stock_crease > 0.0D &&
+//                    stock_crease >= maxcrease && siteProduct.getTranWithdrawDisplay()) {
+//                return ServerResponse.createByErrorMsg("挂单失败,科创股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
+//            }
+//
+//
+//            if (stock_crease < 0.0D &&
+//                    -stock_crease > maxcrease && siteProduct.getTranWithdrawDisplay()) {
+//                return ServerResponse.createByErrorMsg("挂单失败,科创股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
+//            }
+//        }
         ServerResponse serverResponse = this.iStockService.selectRateByDaysAndStockCode(stock
                 .getStockCode(), siteSetting.getStockDays().intValue());
         if (!serverResponse.isSuccess()) {
             return serverResponse;
         }
         BigDecimal daysRate = (BigDecimal) serverResponse.getData();
-        log.info("股票 {} , {} 天内 涨幅 {} , 设置的涨幅 = {}", new Object[]{stock.getStockCode(), siteSetting
-                .getStockDays(), daysRate, siteSetting.getStockRate()});
-
-        if (daysRate != null &&
-                siteSetting.getStockRate().compareTo(daysRate) == -1 && siteProduct.getTranWithdrawDisplay()) {
-            return serverResponse.createByErrorMsg(siteSetting.getStockDays() + "天内涨幅超过 " + siteSetting
-                    .getStockRate() + "不能交易");
-        }
+//        log.info("股票 {} , {} 天内 涨幅 {} , 设置的涨幅 = {}", new Object[]{stock.getStockCode(), siteSetting
+//                .getStockDays(), daysRate, siteSetting.getStockRate()});
+//
+//        if (daysRate != null &&
+//                siteSetting.getStockRate().compareTo(daysRate) == -1 && siteProduct.getTranWithdrawDisplay()) {
+//            return serverResponse.createByErrorMsg(siteSetting.getStockDays() + "天内涨幅超过 " + siteSetting
+//                    .getStockRate() + "不能交易");
+//        }
 
         BigDecimal buy_amt = now_price.multiply(new BigDecimal(buyNum.intValue()));
 
@@ -907,7 +902,7 @@
                     return ServerResponse.createByErrorMsg("平仓失败,不在交易时段内");
                 }
             }
-            if (siteProduct.getHolidayDisplay()) {
+            if (siteProduct.getHolidayDisplay() && siteProduct.getTranWithdrawDisplay()) {
                 return ServerResponse.createByErrorMsg("周末或节假日不能交易!");
             }
 
@@ -2317,6 +2312,13 @@
         return ServerResponse.createBySuccess(pageInfo);
     }
 
+    @Override
+    public ServerResponse findPositionBySn(String positionSn) {
+        UserPosition userPosition = userPositionMapper.findPositionBySn(positionSn);
+        UserPositionVO userPositionVO = assembleUserPositionVO(userPosition);
+        return ServerResponse.createBySuccess(userPositionVO);
+    }
+
     /**
      * @Description: 新股轉持倉
      * @Param:
@@ -2506,17 +2508,17 @@
             return ServerResponse.createByErrorMsg("下单失败,当前股票不能交易");
         }
 
-        List dbPosition = findPositionByStockCodeAndTimes(siteSetting.getBuySameTimes().intValue(), stockDz.getStockCode(), user.getId());
-        if (dbPosition.size() >= siteSetting.getBuySameNums().intValue()) {
-            return ServerResponse.createByErrorMsg("频繁交易," + siteSetting.getBuySameTimes() + "分钟内同一股票持仓不得超过" + siteSetting
-                    .getBuySameNums() + "条");
-        }
+//        List dbPosition = findPositionByStockCodeAndTimes(siteSetting.getBuySameTimes().intValue(), stockDz.getStockCode(), user.getId());
+//        if (dbPosition.size() >= siteSetting.getBuySameNums().intValue()) {
+//            return ServerResponse.createByErrorMsg("频繁交易," + siteSetting.getBuySameTimes() + "分钟内同一股票持仓不得超过" + siteSetting
+//                    .getBuySameNums() + "条");
+//        }
 
-        Integer transNum = findPositionNumByTimes(siteSetting.getBuyNumTimes().intValue(), user.getId());
-        if (transNum.intValue() / 100 >= siteSetting.getBuyNumLots().intValue()) {
-            return ServerResponse.createByErrorMsg("频繁交易," + siteSetting
-                    .getBuyNumTimes() + "分钟内不能超过" + siteSetting.getBuyNumLots() + "手");
-        }
+//        Integer transNum = findPositionNumByTimes(siteSetting.getBuyNumTimes().intValue(), user.getId());
+//        if (transNum.intValue() / 100 >= siteSetting.getBuyNumLots().intValue()) {
+//            return ServerResponse.createByErrorMsg("频繁交易," + siteSetting
+//                    .getBuyNumTimes() + "分钟内不能超过" + siteSetting.getBuyNumLots() + "手");
+//        }
 
         if (num < stockDz.getStockNum().intValue()) {
             return ServerResponse.createByErrorMsg("下单失败,购买数量最小为" + stockDz.getStockNum() + "股");
@@ -2569,45 +2571,45 @@
         log.info("當前漲跌幅 = {} % , 漲停幅度 = {} %", Double.valueOf(stock_crease), ztRate);
 
 
-        if (stockDz.getStockPlate() == null || StringUtils.isEmpty(stockDz.getStockPlate())) {
-
-            int maxcrease = siteSetting.getCreaseMaxPercent().intValue();
-            if (stock_crease > 0.0D &&
-                    stock_crease >= maxcrease) {
-                return ServerResponse.createByErrorMsg("下单失败,股票当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
-            }
-
-            if (stock_crease < 0.0D &&
-                    -stock_crease > maxcrease) {
-                return ServerResponse.createByErrorMsg("下单失败,股票当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
-
-            }
-
-        } else if ("创业".equals(stockDz.getStockPlate())) {
-
-            int maxcrease = siteSetting.getCyCreaseMaxPercent().intValue();
-            if (stock_crease > 0.0D &&
-                    stock_crease >= maxcrease) {
-                return ServerResponse.createByErrorMsg("下单失败,创业股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
-            }
-
-            if (stock_crease < 0.0D &&
-                    -stock_crease > maxcrease) {
-                return ServerResponse.createByErrorMsg("下单失败,创业股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
-            }
-        } else {
-
-            int maxcrease = siteSetting.getKcCreaseMaxPercent().intValue();
-            if (stock_crease > 0.0D &&
-                    stock_crease >= maxcrease) {
-                return ServerResponse.createByErrorMsg("下单失败,科创股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
-            }
-
-            if (stock_crease < 0.0D &&
-                    -stock_crease > maxcrease) {
-                return ServerResponse.createByErrorMsg("下单失败,科创股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
-            }
-        }
+//        if (stockDz.getStockPlate() == null || StringUtils.isEmpty(stockDz.getStockPlate())) {
+//
+//            int maxcrease = siteSetting.getCreaseMaxPercent().intValue();
+//            if (stock_crease > 0.0D &&
+//                    stock_crease >= maxcrease) {
+//                return ServerResponse.createByErrorMsg("下单失败,股票当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
+//            }
+//
+//            if (stock_crease < 0.0D &&
+//                    -stock_crease > maxcrease) {
+//                return ServerResponse.createByErrorMsg("下单失败,股票当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
+//
+//            }
+//
+//        } else if ("创业".equals(stockDz.getStockPlate())) {
+//
+//            int maxcrease = siteSetting.getCyCreaseMaxPercent().intValue();
+//            if (stock_crease > 0.0D &&
+//                    stock_crease >= maxcrease) {
+//                return ServerResponse.createByErrorMsg("下单失败,创业股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
+//            }
+//
+//            if (stock_crease < 0.0D &&
+//                    -stock_crease > maxcrease) {
+//                return ServerResponse.createByErrorMsg("下单失败,创业股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
+//            }
+//        } else {
+//
+//            int maxcrease = siteSetting.getKcCreaseMaxPercent().intValue();
+//            if (stock_crease > 0.0D &&
+//                    stock_crease >= maxcrease) {
+//                return ServerResponse.createByErrorMsg("下单失败,科创股当前涨幅:" + stock_crease + ",大于最大涨幅:" + maxcrease);
+//            }
+//
+//            if (stock_crease < 0.0D &&
+//                    -stock_crease > maxcrease) {
+//                return ServerResponse.createByErrorMsg("下单失败,科创股当前跌幅:" + stock_crease + ",大于最大跌幅:" + maxcrease);
+//            }
+//        }
 
 
         ServerResponse serverResponse = this.iStockService.selectRateByDaysAndStockCode(stockDz.getStockCode(), siteSetting.getStockDays().intValue());
@@ -2618,10 +2620,10 @@
         log.info("股票 {} , {} 天內 漲幅 {} , 設置的漲幅 = {}", new Object[]{stockDz.getStockCode(), siteSetting
                 .getStockDays(), daysRate, siteSetting.getStockRate()});
 
-        if (daysRate != null && siteSetting.getStockRate().compareTo(daysRate) == -1) {
-            return serverResponse.createByErrorMsg(siteSetting.getStockDays() + "天内涨幅超过 " + siteSetting
-                    .getStockRate() + "不能交易");
-        }
+//        if (daysRate != null && siteSetting.getStockRate().compareTo(daysRate) == -1) {
+//            return serverResponse.createByErrorMsg(siteSetting.getStockDays() + "天内涨幅超过 " + siteSetting
+//                    .getStockRate() + "不能交易");
+//        }
 
 
         //BigDecimal buy_amt = now_price.multiply(new BigDecimal(buyNum.intValue())).divide(new BigDecimal(lever.intValue())).setScale(2, 4);

--
Gitblit v1.9.3