zyy
2026-01-13 4d2d2e5e9e296ec6cb15a01ab35f18cca00ce9ec
杠杆
2 files modified
39 ■■■■ changed files
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserServiceImpl.java 32 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -416,17 +416,16 @@
            position.setId(null);
            position.setPositionSn(KeyUtils.getUniqueKey());
            position.setOrderNum(number);
            position.setOrderTotalPrice(position.getBuyOrderPrice().multiply(new BigDecimal(number)));
            position.setOrderTotalPrice(position.getBuyOrderPrice().multiply(new BigDecimal(number)).divide(new BigDecimal(position.getOrderLever()), 5, RoundingMode.HALF_UP));
            position.setBuyOrderId(GeneratePosition.getPositionId());
            //修改拆分订单手续费
            BigDecimal BuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.BUY_HANDLING_CHARGE.getCode()).getCValue());
            BigDecimal buyPrice = position.getBuyOrderPrice().multiply(new BigDecimal(position.getOrderNum()));
            BigDecimal xsPrice = buyPrice.multiply(BuyFee);
            BigDecimal xsPrice = position.getOrderTotalPrice().multiply(BuyFee);
            position.setOrderFee(xsPrice);
            //修改原订单
            userPosition.setOrderNum(userPosition.getOrderNum()-number);
            userPosition.setOrderTotalPrice(userPosition.getBuyOrderPrice().multiply(new BigDecimal(userPosition.getOrderNum())));
            userPosition.setOrderTotalPrice(userPosition.getBuyOrderPrice().multiply(new BigDecimal(userPosition.getOrderNum())).divide(new BigDecimal(position.getOrderLever()), 5, RoundingMode.HALF_UP));
            userPosition.setOrderFee(userPosition.getOrderFee().subtract(position.getOrderFee()));
            userPositionMapper.insert(position);
            userPositionMapper.updateById(userPosition);
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -478,7 +478,7 @@
    public ServerResponse getMoney(Integer userId) {
        List<UserAssets>  userAssetsList =   userAssetsServices.assetsByUserId(userId);
        List<RUserAssets>  rUserAssetsList = new ArrayList<>();
        int s= 4;
        int s= 2;
        /**
         *  浮动盈亏
         * */
@@ -507,7 +507,7 @@
            RUserAssets rUserAssets  = new RUserAssets();
            UserAssets userAssets = userAssetsList.get(i);
            // 浮动盈亏
            String profitAndLose = getProfitAndLose(userId).toString();
            String profitAndLose = getProfitAndLose(userId).setScale(s,RoundingMode.UP).toString();
            BigDecimal amt = userAssets.getAvailableBalance();
            BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney()).add(new BigDecimal(profitAndLose)).subtract(userAssets.getHandlingChargeWritten());
//            BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney()).subtract(userAssets.getCumulativeProfitAndLoss()).add(profitAndLose);
@@ -515,16 +515,16 @@
            BigDecimal hMoney = userAssets.getHandlingCharge();
            BigDecimal hProfitAndLose = userAssets.getCumulativeProfitAndLoss();
            rUserAssets.setId(userAssets.getId());
            rUserAssets.setTotalMoney((totalAssets.toString()));
            rUserAssets.setTotalMoney((totalAssets.setScale(s,RoundingMode.UP).toString()));
            rUserAssets.setAccectType(userAssets.getAccectType());
            rUserAssets.setAvailableBalance(amt.toString());
            rUserAssets.setFreezeMoney(freeMoney.toString());
            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.toString());
            rUserAssets.setHandlingCharge(hMoney.toString());
            rUserAssets.setProfitAndLoss(profitAndLose.toString());
            rUserAssets.setAvailableBalance(amt.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setFreezeMoney(freeMoney.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setHandlingCharge(hMoney.setScale(s, RoundingMode.UP).toString());
            rUserAssets.setProfitAndLoss(profitAndLose);
            rUserAssets.setIsZf(userAssets.getIsZf());
            rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()).toString()));
            rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten());
            rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten())).setScale(s, RoundingMode.UP).toString());
            rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten().setScale(s, RoundingMode.UP));
            BigDecimal rate = rateServices.currencyRate(
                    EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.JP);
@@ -559,14 +559,14 @@
            rUserAssets.setAvailableBalanceUSD(availableBalanceUSD.setScale(s,BigDecimal.ROUND_UP).toString());
            rUserAssets.setFreezeMoneyUSD(freezeMoneyUSD.setScale(s,BigDecimal.ROUND_UP).toString());
            rUserAssets.setTotalMoneyUSD(totleMoneyUSD.setScale(s,BigDecimal.ROUND_UP).toString());
            rUserAssets.setAvailableBalanceUSD(availableBalanceUSD.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setFreezeMoneyUSD(freezeMoneyUSD.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setTotalMoneyUSD(totleMoneyUSD.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setSymbol(EStockType.getEStockTypeByCode(userAssets.getAccectType()).getSymbol1());
            rUserAssets.setSymbolCode(EStockType.getEStockTypeByCode(userAssets.getAccectType()).getSymbol());
            rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
            rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s,BigDecimal.ROUND_UP).toString());
            rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
            rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s,RoundingMode.UP).toString());
            rUserAssets.setProfitAndLoss(profitAndLose);
//            BigDecimal decimal = new BigDecimal(rUserAssets.getTotalMoney()).add(new BigDecimal(rUserAssets.getProfitAndLoss()));
//            rUserAssets.setTotalMoney(decimal.toString());