From ebb754075f9fd70e214b2938d8ef90acf8d6f747 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 26 Aug 2020 15:13:33 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java | 34 ++++++++++++++++++++--------------
1 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
index a81854c..1aab16d 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
@@ -34,10 +34,8 @@
List<AscBigDecimal> list = new ArrayList<AscBigDecimal>();
// 找到所有比当前价格大的 是需要操作的
if (b != null && b.compareTo(now) <= 0) {
- log.info("--->{}", b.getValue());
// 可以操作
System.out.println("当前价格:" + price + "---正序---" + "队列价格:" + b.getValue().toPlainString() + " time:" + new Date());
- log.info("--->>>>{}", queue.peek().getValue());
while (queue.peek() != null && queue.peek().compareTo(now) <= 0) {
// 可以发送消息操作
list.add(queue.remove());
@@ -61,11 +59,9 @@
// 找到比当前价格还大的就是需要操作的 开多止损
// 即最大的币当前价大 那么需要开多止损
if (b != null && b.compareTo(now) <= 0) {
- log.info("--->{}", b.getValue());
// 可以操作
System.out.println("当前价格:" + price + "---倒序操作---" + "队列:" + b.getValue().toPlainString() + " time:" + new Date());
- log.info("--->>>>{}", queue.peek().getValue());
while (queue.peek() != null && queue.peek().compareTo(now) <= 0) {
// 可以发送消息操作
list.add(queue.remove());
@@ -86,20 +82,18 @@
List<OrderModel> orderModelList = new ArrayList<OrderModel>();
// 3 正序
Map<String, List<OrderModel>> orderMap = PricePriorityQueue.getOrderMap(symbol, 3);
- log.info("--->{}", JSONObject.toJSONString(orderMap));
// 根据价格查询到对应的订单
for (AscBigDecimal asc : list) {
String key = asc.getValue().toPlainString();
- log.info("------>>>>>{}", key);
assert orderMap != null;
- log.info("======={}", orderMap.containsKey(key));
+ log.info("----->->{}, --> {}", JSONObject.toJSONString(orderMap), key);
if (orderMap.containsKey(key)) {
orderModelList.addAll(orderMap.get(key));
orderMap.remove(key);
}
}
- log.info("{}", orderModelList);
+ log.info("------>{}", JSONObject.toJSONString(orderModelList));
if (CollectionUtils.isEmpty(orderModelList)) {
return;
}
@@ -117,9 +111,14 @@
List<OrderModel> bcList = new ArrayList<OrderModel>();
// 开空
List<OrderModel> wtkkList = new ArrayList<OrderModel>();
+ // 委托平多
+ List<OrderModel> wtpdList = new ArrayList<>();
switch (model.getType()) {
case 3:
wtkkList.add(model);
+ break;
+ case 4:
+ wtpdList.add(model);
break;
case 7:
bcList.add(model);
@@ -131,7 +130,7 @@
kkzsList.add(model);
break;
default:
- log.info("#price-service unknow type#");
+ log.info("#price-service unknown type#");
break;
}
@@ -150,6 +149,9 @@
if (CollectionUtils.isNotEmpty(wtkkList)) {
orderProducer.sendLimit(JSONObject.toJSONString(wtkkList));
}
+ if (CollectionUtils.isNotEmpty(wtpdList)) {
+ orderProducer.sendLimitClose(JSONObject.toJSONString(wtpdList));
+ }
}
}
}
@@ -161,13 +163,11 @@
// 根据不同类型发送不同消息 1 倒序 2 正序
List<OrderModel> orderModelList = new ArrayList<OrderModel>();
Map<String, List<OrderModel>> orderMap = PricePriorityQueue.getOrderMap(symbol, 2);
- log.info("--->{}", JSONObject.toJSONString(orderMap));
// 根据价格查询到对应的订单
for (DescBigDecimal desc : list) {
String key = desc.getValue().toPlainString();
- log.info("------>>>>>{}", key);
assert orderMap != null;
- log.info("======={}", orderMap.containsKey(key));
+ log.info("----->->{}, --> {}", JSONObject.toJSONString(orderMap), key);
if (orderMap.containsKey(key)) {
orderModelList.addAll(orderMap.get(key));
orderMap.remove(key);
@@ -175,7 +175,6 @@
}
- log.info("{}", orderModelList);
if (CollectionUtils.isEmpty(orderModelList)) {
return;
}
@@ -193,9 +192,14 @@
List<OrderModel> bcList = new ArrayList<OrderModel>();
// 开多委托
List<OrderModel> wtkdList = new ArrayList<OrderModel>();
+ // 委托平空
+ List<OrderModel> wtpkList = new ArrayList<>();
switch (model.getType()) {
case 2:
wtkdList.add(model);
+ break;
+ case 5:
+ wtpkList.add(model);
break;
case 6:
bcList.add(model);
@@ -224,7 +228,9 @@
}
if (CollectionUtils.isNotEmpty(wtkdList)) {
orderProducer.sendLimit(JSONObject.toJSONString(wtkdList));
-
+ }
+ if (CollectionUtils.isNotEmpty(wtpkList)) {
+ orderProducer.sendLimitClose(JSONObject.toJSONString(wtpkList));
}
}
}
--
Gitblit v1.9.1