Helius
2020-08-26 e75642b807e0382d2c1959dc83bae79deb1110d6
src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
@@ -55,8 +55,6 @@
        DescBigDecimal b = queue.peek();
        // 当前价格
        DescBigDecimal now = new DescBigDecimal(price);
        log.info("--->{}", JSONObject.toJSONString(b));
        log.info("--->{}", JSONObject.toJSONString(now));
        List<DescBigDecimal> list = new ArrayList<DescBigDecimal>();
        // 找到比当前价格还大的就是需要操作的 开多止损
        // 即最大的币当前价大 那么需要开多止损
@@ -88,12 +86,14 @@
            for (AscBigDecimal asc : list) {
                String key = asc.getValue().toPlainString();
                assert orderMap != null;
                log.info("----->->{}, --> {}", JSONObject.toJSONString(orderMap), key);
                if (orderMap.containsKey(key)) {
                    orderModelList.addAll(orderMap.get(key));
                    orderMap.remove(key);
                }
            }
            log.info("------>{}", JSONObject.toJSONString(orderModelList));
            if (CollectionUtils.isEmpty(orderModelList)) {
                return;
            }
@@ -111,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);
@@ -144,6 +149,9 @@
                if (CollectionUtils.isNotEmpty(wtkkList)) {
                    orderProducer.sendLimit(JSONObject.toJSONString(wtkkList));
                }
                if (CollectionUtils.isNotEmpty(wtpdList)) {
                    orderProducer.sendLimitClose(JSONObject.toJSONString(wtpdList));
                }
            }
        }
    }
@@ -159,6 +167,7 @@
            for (DescBigDecimal desc : list) {
                String key = desc.getValue().toPlainString();
                assert orderMap != null;
                log.info("----->->{}, --> {}", JSONObject.toJSONString(orderMap), key);
                if (orderMap.containsKey(key)) {
                    orderModelList.addAll(orderMap.get(key));
                    orderMap.remove(key);
@@ -183,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);
@@ -214,7 +228,9 @@
                }
                if (CollectionUtils.isNotEmpty(wtkdList)) {
                    orderProducer.sendLimit(JSONObject.toJSONString(wtkdList));
                }
                if (CollectionUtils.isNotEmpty(wtpkList)) {
                    orderProducer.sendLimitClose(JSONObject.toJSONString(wtpkList));
                }
            }
        }