peter
2025-11-15 25e4c6e9e903a6035777b0a6b304df307711ba5d
修改购买金额问题
1 files modified
15 ■■■■■ changed files
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -208,7 +208,6 @@
            }
            //判断是否盘前,和价格
            StockSetting stockSetting = tradingHourService.preMarketPrice(stock.getStockCode());
            BigDecimal buyAmtNew = BigDecimal.ZERO;
            if(null != preMarketPrice && preMarketPrice.compareTo(new BigDecimal(0)) > 0 && null != stockSetting && preMarketPrice.compareTo(new BigDecimal(stockSetting.getPrice())) != 0){
                //挂单
                UserPendingorder userPendingorder = new UserPendingorder();
@@ -223,8 +222,7 @@
                userPendingorder.setTargetPrice(preMarketPrice);
                userPendingorder.setAddTime(new Date());
                userPendingorder.setStatus(0);
                buyAmtNew = preMarketPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
                userPendingorder.setBuyAmt(buyAmtNew);
                userPendingorder.setBuyAmt(preMarketPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever)));
                int ret = userPendingorderMapper.insert(userPendingorder);
                buyAmt = userPendingorder.getBuyAmt();
                orderFree = siteSettingBuyFee.multiply(buyAmt);
@@ -240,7 +238,13 @@
                userPosition.setStockSpell(stock.getStockSpell());
                userPosition.setBuyOrderId(GeneratePosition.getPositionId());
                userPosition.setBuyOrderTime(new Date());
                userPosition.setBuyOrderPrice(null == preMarketPrice ? nowPrice : preMarketPrice);
//                userPosition.setBuyOrderPrice(null == preMarketPrice ? nowPrice : preMarketPrice);
                if(null == preMarketPrice){
                    userPosition.setBuyOrderPrice(nowPrice);
                }else {
                    userPosition.setBuyOrderPrice(preMarketPrice);
                    buyAmt = preMarketPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever));
                }
                userPosition.setOrderDirection((buyType.intValue() == 0) ? "买涨" : "买跌");
                userPosition.setOrderNum(buyNum);
                if (stock.getStockPlate() != null) {
@@ -250,7 +254,6 @@
                userPosition.setOrderLever(lever);
                userPosition.setOrderTotalPrice(buyAmt);
                // 手续费
                buyAmtNew = buyAmt;
                userPosition.setOrderFee(orderFree);
                userPosition.setOrderSpread(BigDecimal.ZERO);
                userPosition.setSpreadRatePrice(BigDecimal.ZERO);
@@ -262,7 +265,7 @@
                userPositionMapper.insert(userPosition);
            }
            iUserAssetsServices.availablebalanceChange(stock.getStockType(), user.getId(), EUserAssets.BUY, buyAmtNew.negate(), "", "");
            iUserAssetsServices.availablebalanceChange(stock.getStockType(), user.getId(), EUserAssets.BUY, buyAmt.negate(), "", "");
            iUserAssetsServices.availablebalanceChange(stock.getStockType(), user.getId(), EUserAssets.HANDLING_CHARGE, orderFree, "", "");
            return ServerResponse.createBySuccessMsg("下单成功", request);
        }