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