新版仿ok交易所-后端
zyy
2026-01-23 9ac7f3d21d5ff7b144a8a20720d781c8f3f450a5
trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java
@@ -152,13 +152,15 @@
            PurchaseRecordDto purchaseRecordDto = ConverterUtil.convert(purchaseRecord, PurchaseRecordDto.class);
            purchaseRecordDto.setCurrentPrice(close);
            //持仓市值
            purchaseRecordDto.setPositionvalue(close.multiply(purchaseRecordDto.getPurchaseQuantity()));
            purchaseRecordDto.setPositionvalue(close.multiply(purchaseRecordDto.getPurchaseQuantity()).setScale(4, RoundingMode.HALF_UP));
            //均价总额
            BigDecimal currentTotalPrice = purchaseRecordDto.getPurchaseQuantity().multiply(purchaseRecord.getPurchasePrice());
            BigDecimal profit = purchaseRecordDto.getPositionvalue().subtract(currentTotalPrice);
            purchaseRecordDto.setProfit(profit.setScale(4, RoundingMode.HALF_UP));
            BigDecimal profitPercent = (purchaseRecordDto.getPositionvalue().subtract(currentTotalPrice)).divide(currentTotalPrice,4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
            purchaseRecordDto.setProfitPercent(profitPercent);
            if (currentTotalPrice.compareTo(BigDecimal.ZERO) != 0) {
                BigDecimal profitPercent = (purchaseRecordDto.getPositionvalue().subtract(currentTotalPrice)).divide(currentTotalPrice,4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
                purchaseRecordDto.setProfitPercent(profitPercent);
            }
            purchaseRecordDto.setLockingTime(LocalDate.of(2026, 2, 9));
            return Result.succeed(purchaseRecordDto);
        }