Helius
2021-04-07 5702319ec386fa3921a36bc82189ea023dd8f237
modify
1 files modified
13 ■■■■■ changed files
src/main/java/com/xcong/excoin/utils/CalculateUtil.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -226,18 +226,23 @@
                totalProfitOrLoss = totalProfitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
            }
            // 维持保证金
            BigDecimal holdBond = contractHoldOrderEntity.getHoldBond();
            // 成本 数量*面值*开仓价
            BigDecimal cost = contractHoldOrderEntity.getSymbolSku().multiply(contractHoldOrderEntity.getOpeningPrice()).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));
            // 费率
            BigDecimal ratio = newPrice.multiply(new BigDecimal("0.015"));
            BigDecimal ratio = newPrice.multiply(new BigDecimal("0.005"));
            // 总账户 - 维持保证金
            BigDecimal orderProfitOrLoss = walletContract.getTotalBalance().subtract(holdBond);
            // 权益
            BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss).add(walletContract.getTotalBalance());
            BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss);
            BigDecimal prefix = qy.add(cost).subtract(ratio);
            BigDecimal divideChild;
            if (ContractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
                divideChild = holdBond.negate().subtract(cost).add(ratio).add(qy);
                divideChild = prefix.subtract(orderProfitOrLoss);
            } else {
                divideChild = holdBond.negate().subtract(cost).add(ratio).subtract(qy);
                divideChild = prefix.add(orderProfitOrLoss);
            }
//            BigDecimal divideChild = walletContract.getTotalBalance().add(totalProfitOrLoss).subtract(holdBond).subtract(cost).add(newPrice.multiply(new BigDecimal("0.005")));
            BigDecimal divideParent = contractHoldOrderEntity.getSymbolSku().multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));