From f5708bc8452444408cf3f94b9ed528ca4d58d628 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 04 Sep 2020 11:46:46 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java | 12 ++++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 22 +++++----- src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java | 11 +++++ src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java | 24 ++++++++++++ 4 files changed, 58 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java index da218eb..bc850b9 100644 --- a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java +++ b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java @@ -54,6 +54,9 @@ // 平仓队列 public static final String QUEUE_CLOSETRADE = "QUEUE_CLOSETRADE_NEW"; + // 全仓爆仓 + public static final String QUEUE_WHOLE_BOMB = "QUEUE_WHOLE_BOMB_NEW"; + // 开多止盈路由键 public static final String ROUTINGKEY_MOREPRO = "ROUTINGKEY_MOREPRO"; @@ -77,6 +80,9 @@ // 委托平仓 public static final String ROUTINGKEY_LIMIT_CLOSE = "ROUTINGKEY_LIMIT_CLOSE"; + + // 全仓爆仓 + public static final String ROUTINGKEY_WHOLE_BOMB = "ROUTINGKEY_WHOLE_BOMB"; @Resource private ConnectionFactory connectionFactory; @@ -218,6 +224,14 @@ return new Queue(QUEUE_CLOSETRADE, true); } + /** + * 全仓爆仓 + * @return + */ + @Bean + public Queue queueWholeBomb() { + return new Queue(QUEUE_WHOLE_BOMB, true); + } /** * 开多止盈 @@ -311,4 +325,14 @@ return BindingBuilder.bind(queueCloseTrade()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_CLOSETRADE); } + /** + * 全仓爆仓绑定 + * + * @return + */ + @Bean + public Binding bindingWholeBomb() { + return BindingBuilder.bind(queueWholeBomb()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_WHOLE_BOMB); + } + } 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 57ace9c..16c9b8f 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 @@ -736,18 +736,18 @@ PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting(); BigDecimal newPriceSymbol = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol))); - List<ContractEntrustOrderEntity> entrustOrderEntities; - List<ContractHoldOrderEntity> holdOrderEntities; + List<ContractEntrustOrderEntity> entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId()); + List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId()); MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name()); - if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) { - // 当前合约委托单 - entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId()); - // 当前持仓列表 - holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId()); - } else { - entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol); - holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), symbol); - } +// if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) { +// // 当前合约委托单 +// entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId()); +// // 当前持仓列表 +// holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId()); +// } else { +// entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol); +// holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), symbol); +// } // 冻结保证金 -- 即委托单中的保证金之和 BigDecimal frozenBondAmount = BigDecimal.ZERO; diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java index 891e512..60af4aa 100644 --- a/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java +++ b/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java @@ -159,4 +159,15 @@ List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); orderService.entrustCloseOrder(list); } + + /** + * 全仓爆仓 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_WHOLE_BOMB) + public void onMessageWholeBomb(Message message, Channel channel) { + + } } diff --git a/src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java b/src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java index d50e96f..8424731 100644 --- a/src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java +++ b/src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java @@ -149,4 +149,16 @@ rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LIMIT_CLOSE, content, correlationData); } + /** + * 发送全仓爆仓 + * + * @param content + */ + public void sendWholeBomb(String content) { + CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); + log.info("发送全仓爆仓消息:{} == pid:{}", content, correlationData.getId()); + + rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_WHOLE_BOMB, content, correlationData); + } + } -- Gitblit v1.9.1