From d5b1ec5dca1aefb6425d2e12b1b2804714019c27 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 28 Jan 2021 16:31:21 +0800 Subject: [PATCH] whole bomb finish --- src/test/java/com/xcong/excoin/WholeTest.java | 126 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 126 insertions(+), 0 deletions(-) diff --git a/src/test/java/com/xcong/excoin/WholeTest.java b/src/test/java/com/xcong/excoin/WholeTest.java index e685505..9d52d39 100644 --- a/src/test/java/com/xcong/excoin/WholeTest.java +++ b/src/test/java/com/xcong/excoin/WholeTest.java @@ -1,19 +1,35 @@ package com.xcong.excoin; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONObject; +import com.xcong.excoin.common.contants.AppContants; +import com.xcong.excoin.common.enumerates.CoinTypeEnum; +import com.xcong.excoin.common.enumerates.RabbitPriceTypeEnum; import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao; import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.service.RabbitOrderService; import com.xcong.excoin.modules.member.dao.MemberDao; +import com.xcong.excoin.modules.member.dao.MemberWalletContractDao; 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.WebsocketPriceService; +import com.xcong.excoin.rabbit.producer.OrderProducer; import com.xcong.excoin.utils.CalculateUtil; +import com.xcong.excoin.utils.RedisUtils; import com.xcong.excoin.utils.ThreadPoolUtils; +import lombok.SneakyThrows; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * @author wzy @@ -29,6 +45,9 @@ @Autowired private RabbitOrderService rabbitOrderService; + + @Autowired + private MemberWalletContractDao memberWalletContractDao; @Test public void forceClosePriceTest() { @@ -47,5 +66,112 @@ rabbitOrderService.cancelHoldOrder(ids); } + @Test + public void wholeContractWalletTest() { + List<MemberEntity> memberEntities = memberDao.selectAllMember(); + for (MemberEntity member : memberEntities) { + CoinTypeEnum[] values = CoinTypeEnum.values(); + for (CoinTypeEnum value : values) { + MemberWalletContractEntity walletContract = new MemberWalletContractEntity(); + if (value.name().equals(CoinTypeEnum.USDT.name())) { + continue; + } + + walletContract.setMemberId(member.getId()); + walletContract.setAvailableBalance(AppContants.INIT_MONEY); + walletContract.setFrozenBalance(AppContants.INIT_MONEY); + walletContract.setTotalBalance(AppContants.INIT_MONEY); + walletContract.setBorrowedFund(AppContants.INIT_MONEY); + walletContract.setWalletCode(value.name()); + memberWalletContractDao.insert(walletContract); + } + } + } + + + @Test + public void bondAmountTest() { + BigDecimal openPrice = BigDecimal.valueOf(412.52124800); + + System.out.println(CalculateUtil.getBondAmount(openPrice, BigDecimal.valueOf(6), 1, 5)); + } + + @Autowired + private OrderProducer orderProducer; + + + // 面值*(多单张数*多单开仓价-空单张数*空单开仓价)-余额-已实现盈亏 / 面值*(多单张数-空单张数)-(维持保证金率+TAKER手续费)*面值*(开多张数+开空张数) + + /* + 面值 : 0.1000 * 678 + 多单张数 : 300 开仓价 : 11400.53000000 -> 3420159 + 空单张数 : 300 开仓价 : 11398.27000000 -> 3419481 + 余额 : 562.92683993 -495.12 + + 手续费率 : 0.0460 + + + */ + @Test + public void forceSetPriceTest() { + MemberEntity memberEntity = memberDao.selectById(21L); + CalculateUtil.getForceSetPriceForWhole("BTC/USDT", memberEntity); + } + + @Resource + private RedisUtils redisUtils; + + @Test + public void redisTest() { + for (int i = 827; i < 999; i++) { + redisUtils.del(AppContants.CLOSING_ORDER_PREFIX + i); + } + } + + @Resource + private WebsocketPriceService websocketPriceService; + + @Test + public void wholeBombTest() { + websocketPriceService.wholeBomb("BTC/USDT", "9000"); + } + + @Test + public void forceTest() { + MemberEntity memberEntity = memberDao.selectById(5L); + CalculateUtil.getForceSetPriceForWhole(null, memberEntity); + } + + public static void main(String[] args) { + Map<String, String> map = new ConcurrentHashMap<>(); + map.put("1", "1"); + map.put("2", "2"); + map.put("3", "3"); + map.put("4", "4"); + map.put("5", "5"); + + new Thread(new Runnable() { + @SneakyThrows + @Override + public void run() { + for (Map.Entry<String, String> entry : map.entrySet()) { + System.out.println(entry.getKey() + " - " + entry.getValue()); + if (entry.getKey().equals("3")) { + System.out.println(11); + map.remove("3"); + } + Thread.sleep(1000); + } + + System.out.println(map.get("3")); + } + }).start(); + + } + + @Test + public void mapTest() { + websocketPriceService.wholeBomb(); + } } -- Gitblit v1.9.1