From d23645e976981bc9b670eea1d469fe8a36be309c Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 17 Apr 2024 17:19:53 +0800 Subject: [PATCH] 55测试环境 --- src/test/java/com/xcong/excoin/WholeTest.java | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/xcong/excoin/WholeTest.java b/src/test/java/com/xcong/excoin/WholeTest.java index 9d52d39..a366bfc 100644 --- a/src/test/java/com/xcong/excoin/WholeTest.java +++ b/src/test/java/com/xcong/excoin/WholeTest.java @@ -13,9 +13,11 @@ import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; import com.xcong.excoin.rabbit.pricequeue.OrderModel; +import com.xcong.excoin.rabbit.pricequeue.OrderOperatePriceService; import com.xcong.excoin.rabbit.pricequeue.WebsocketPriceService; import com.xcong.excoin.rabbit.producer.OrderProducer; import com.xcong.excoin.utils.CalculateUtil; +import com.xcong.excoin.utils.CoinTypeConvert; import com.xcong.excoin.utils.RedisUtils; import com.xcong.excoin.utils.ThreadPoolUtils; import lombok.SneakyThrows; @@ -114,8 +116,15 @@ */ @Test public void forceSetPriceTest() { - MemberEntity memberEntity = memberDao.selectById(21L); - CalculateUtil.getForceSetPriceForWhole("BTC/USDT", memberEntity); + MemberEntity memberEntity = memberDao.selectById(15L); + System.out.println(CalculateUtil.getForceSetPriceForWhole("BTC/USDT", memberEntity)); + } + + @Test + public void profitOrLessTest() { + MemberEntity memberEntity = memberDao.selectById(15L); + ContractHoldOrderEntity contractHoldOrderEntity = contractHoldOrderDao.selectById(144L); + System.out.println(CalculateUtil.calProfitOrLoss(contractHoldOrderEntity, memberEntity)); } @Resource @@ -171,7 +180,63 @@ @Test public void mapTest() { - websocketPriceService.wholeBomb(); +// websocketPriceService.wholeBomb(); + OrderOperatePriceService.wholePriceDataOperation(63L); + } + + + @Test + public void wholeForceTest() { + // 8301.38608660 +// System.out.println(new BigDecimal("9925.29996175").subtract(new BigDecimal("1623.91387515"))); + + BigDecimal aa = new BigDecimal("9925.29996175").subtract(new BigDecimal("8301.38608660").negate()).subtract(new BigDecimal("1623.91387515")).subtract(new BigDecimal("0.1").multiply(new BigDecimal(50)).multiply(new BigDecimal("32478.27750300"))); + BigDecimal bb = new BigDecimal(50).multiply(new BigDecimal("0.1")); + BigDecimal divide = aa.divide(bb, 8, BigDecimal.ROUND_DOWN); + System.out.println(divide); + // -(账户权益-委托保证金-全仓维持保证金-全仓未实现盈利-数量*面值*开仓价格)/(数量*面值) + // 30818.00028568 -- + // 29157.72306836 -- + } + + @Test + public void wholeForceNewTest() { + BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey("BTC/USDT"))); + + MemberEntity memberEntity = memberDao.selectById(19L); + ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(932L); + + System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 2)); + } + + @Test + public void wholeForceNewTest2() { + BigDecimal holdBond = new BigDecimal("1161.8951"); + + BigDecimal sku = new BigDecimal("0.1"); + BigDecimal openPrice = new BigDecimal("58094.75"); + int cnt = 50; + BigDecimal total = new BigDecimal("9866.3820"); + // 成本 数量*面值*开仓价 + BigDecimal cost = sku.multiply(openPrice).multiply(new BigDecimal(cnt)); + // 费率 + BigDecimal ratio = openPrice.multiply(new BigDecimal("0.005")); + // 总账户 - 维持保证金 + BigDecimal orderProfitOrLoss = total.subtract(holdBond); + // 权益 + BigDecimal qy = BigDecimal.ZERO; + + BigDecimal prefix = cost.subtract(ratio); + BigDecimal divideChild; +// if (ContractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) { + divideChild = prefix.subtract(orderProfitOrLoss).subtract(qy); +// } else { +// divideChild = prefix.add(orderProfitOrLoss).add(qy); +// } +// BigDecimal divideChild = walletContract.getTotalBalance().add(totalProfitOrLoss).subtract(holdBond).subtract(cost).add(newPrice.multiply(new BigDecimal("0.005"))); + BigDecimal divideParent = sku.multiply(new BigDecimal(cnt)); + + System.out.println(divideChild.divide(divideParent, 8, BigDecimal.ROUND_DOWN)); } } -- Gitblit v1.9.1