From d62e9b5433caee283ae32164e7239e64dd63d4c9 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 08 Sep 2020 19:42:00 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java index 16c9b8f..57ccf48 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java @@ -482,13 +482,10 @@ holdOrderListVo.setCanAddMaxBond(walletContractEntity.getAvailableBalance()); holdOrderListVo.setReturnRate(returnRate); holdOrderListVo.setProfitOrLoss(rewardRatio); - long start = System.currentTimeMillis(); -// log.info("开始时间 -- {}", start); - BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(symbol, memberEntity); - long end = System.currentTimeMillis(); -// log.info("结束时间 -- {}", end); -// log.info("时间差 -- {}", end - start); - holdOrderListVo.setForceClosingPrice(forcePrice); + if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == memberEntity.getContractPositionType()) { + BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(holdOrderEntity.getSymbol(), memberEntity); + holdOrderListVo.setForceClosingPrice(forcePrice); + } resultList.add(holdOrderListVo); totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio); } @@ -772,10 +769,10 @@ BigDecimal profitOrLess = BigDecimal.ZERO; // 开多 if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) { - profitOrLess = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt())).multiply(lotNumber); + profitOrLess = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale())).multiply(lotNumber); // 开空 } else { - profitOrLess = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt())).multiply(lotNumber); + profitOrLess = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale())).multiply(lotNumber); } if (MemberEntity.IS_PROFIT_Y == memberEntity.getIsProfit()) { @@ -795,6 +792,9 @@ ContractMoneyInfoVo contractMoneyInfoVo = new ContractMoneyInfoVo(); // 权益 BigDecimal equity = walletContractEntity.getTotalBalance().add(totalProfitOrLess); + if (equity.compareTo(BigDecimal.ZERO) <= 0) { + equity = BigDecimal.ZERO; + } contractMoneyInfoVo.setBeUsedBondAmount(beUsedBondAmount); contractMoneyInfoVo.setFrozenBondAmount(frozenBondAmount); -- Gitblit v1.9.1