peter
2026-01-11 9c638d29f43035bb224996f3183a58d761cd526e
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -2312,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:
@@ -2507,11 +2514,11 @@
//                    .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() + "股");
@@ -2564,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());
@@ -2613,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);