From 66d171ee7c81462edb84dcbc3d75033f1e4269fa Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 25 Aug 2020 19:00:26 +0800 Subject: [PATCH] modify open entrust order --- src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java index 9134a42..bec0bef 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java @@ -670,23 +670,23 @@ BigDecimal totalPrice = entrustOrder.getEntrustPrice().multiply(BigDecimal.valueOf(entrustOrder.getSymbolCnt())); BigDecimal newOpenPrice = totalPrice.add(wholeHoldOrder.getOpeningPrice().multiply(BigDecimal.valueOf(wholeHoldOrder.getSymbolCnt()))).divide(BigDecimal.valueOf(entrustOrder.getSymbolCnt() + wholeHoldOrder.getSymbolCntSale()), 8, BigDecimal.ROUND_DOWN); // 保证金 - BigDecimal bondAmount = CalculateUtil.getBondAmount(newOpenPrice, entrustOrder.getSymbolSku(), entrustOrder.getSymbolCnt() + wholeHoldOrder.getSymbolCntSale(), entrustOrder.getLeverRatio()); + BigDecimal bondAmount = entrustOrder.getBondAmount(); // 手续费 - BigDecimal fee = openFeePrice.add(wholeHoldOrder.getOpeningFeeAmount()); + BigDecimal fee = CalculateUtil.getOpenFeePrice(entrustOrder.getEntrustPrice(), entrustOrder.getSymbolSku(), entrustOrder.getSymbolCnt(), tradeSettingEntity.getFeeRatio()); // 预付款 - BigDecimal prePaymentAmount = bondAmount.add(fee).add(fee); + BigDecimal prePaymentAmount = wholeHoldOrder.getPrePaymentAmount().add(entrustOrder.getEntrustAmount()); wholeHoldOrder.setSymbolCnt(wholeHoldOrder.getSymbolCnt() + entrustOrder.getSymbolCnt()); wholeHoldOrder.setSymbolCntSale(wholeHoldOrder.getSymbolCntSale() + entrustOrder.getSymbolCnt()); - wholeHoldOrder.setOpeningFeeAmount(wholeHoldOrder.getOpeningFeeAmount().add(openFeePrice)); + wholeHoldOrder.setOpeningFeeAmount(wholeHoldOrder.getOpeningFeeAmount().add(fee)); wholeHoldOrder.setOpeningPrice(newOpenPrice); - wholeHoldOrder.setBondAmount(bondAmount); + wholeHoldOrder.setBondAmount(wholeHoldOrder.getBondAmount().add(bondAmount)); wholeHoldOrder.setPrePaymentAmount(prePaymentAmount); wholeHoldOrder.setOperateNo(wholeHoldOrder.getOperateNo() + 1); contractHoldOrderService.save(wholeHoldOrder); contractEntrustOrderService.removeById(entrustOrder.getId()); - memberWalletContractService.increaseWalletContractBalanceById(null, entrustOrder.getBondAmount().add(openFeePrice).negate(), entrustOrder.getBondAmount().negate(), wallet.getId()); + memberWalletContractService.increaseWalletContractBalanceById(null, openFeePrice.negate(), entrustOrder.getBondAmount().negate(), wallet.getId()); // 发送强平价 ThreadPoolUtils.sendWholeForceClosingPrice(entrustOrder.getSymbol(), member); -- Gitblit v1.9.1