From 742e80a99ae9e5116c1b1e106bdffd6fde2c22a5 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 08 Apr 2021 18:15:57 +0800 Subject: [PATCH] modify force price --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 2 +- src/test/java/com/xcong/excoin/WholeTest.java | 2 +- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 2 +- src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 11 ++++++++++- 4 files changed, 13 insertions(+), 4 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 e649f61..70940c6 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 @@ -531,7 +531,7 @@ holdOrderListVo.setReturnRate(returnRate); holdOrderListVo.setProfitOrLoss(rewardRatio); if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == memberEntity.getContractPositionType()) { - BigDecimal forcePrice = CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity); + BigDecimal forcePrice = CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity, 1); // contractHoldOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberEntity.getId(), holdOrderEntity.getSymbol()); holdOrderListVo.setForceClosingPrice(forcePrice); } diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java index 6116938..9ff4d66 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java @@ -536,7 +536,7 @@ continue; } - holdOrderEntity.setStopLossPrice(CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity)); + holdOrderEntity.setStopLossPrice(CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity, 2)); contractHoldOrderDao.deleteById(holdOrderDataModel.getId()); ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity); diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java index 76e886a..baf5769 100644 --- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java +++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java @@ -211,7 +211,7 @@ * @param contractHoldOrderEntity * @return */ - public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity) { + public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity, int type) { ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class); MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class); RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); @@ -255,6 +255,15 @@ BigDecimal divideParent = contractHoldOrderEntity.getSymbolSku().multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale())); forcePrice = divideChild.divide(divideParent, 8, BigDecimal.ROUND_DOWN); + if (type == 2) { + log.info("=======全仓爆仓======="); + log.info("holdBond : {}", holdBond); + log.info("cost : {}", cost); + log.info("ratio : {}", ratio); + log.info("orderProfitOrLoss : {}", orderProfitOrLoss); + log.info("total : {}", walletContract.getTotalBalance()); + log.info("qy : {}", qy); + } } return forcePrice; } diff --git a/src/test/java/com/xcong/excoin/WholeTest.java b/src/test/java/com/xcong/excoin/WholeTest.java index bf5a1d5..bf25ed8 100644 --- a/src/test/java/com/xcong/excoin/WholeTest.java +++ b/src/test/java/com/xcong/excoin/WholeTest.java @@ -203,7 +203,7 @@ MemberEntity memberEntity = memberDao.selectById(15L); ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(724L); - System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder)); + System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 2)); } @Test -- Gitblit v1.9.1