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/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java
index c8f559a..b74d21f 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java
@@ -1,6 +1,8 @@
 package com.xcong.excoin.rabbit.pricequeue;
 
 import com.alibaba.fastjson.JSONObject;
+import com.xcong.excoin.rabbit.pricequeue.whole.WholeDataQueue;
+import com.xcong.excoin.rabbit.pricequeue.whole.WholePriceDataModel;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 
@@ -26,7 +28,7 @@
         // 【1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空】
         int type = orderModel.getType();
         Map<String, List<OrderModel>> orderMap = PricePriorityQueue.getOrderMap(orderModel.getSymbol(), type);
-        if (type == 12 || type == 9 || type == 7 || type == 3) {
+        if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) {
             // 需要价格涨的
             PriorityBlockingQueue<AscBigDecimal> queue = PricePriorityQueue.getQueueAsc(orderModel.getSymbol());
             dealPriceAsc(orderModel, orderMap, queue);
@@ -51,25 +53,25 @@
         Long orderId = order.getOrderId();
         queue.add(new DescBigDecimal(price));
 
-        log.info("原有:{}", JSONObject.toJSONString(orderMap));
+//        log.info("原有:{}", JSONObject.toJSONString(orderMap));
         removeExistOrder(type, orderId, orderMap);
-        log.info("删除后:{}", JSONObject.toJSONString(orderMap));
+//        log.info("删除后:{}", JSONObject.toJSONString(orderMap));
         if (orderMap.containsKey(price)) {
             // 有这个价的key
             List<OrderModel> list = orderMap.get(price);
             // 判断这个单的这个类型是否有
-            if (CollectionUtils.isNotEmpty(list)) {
+//            if (CollectionUtils.isNotEmpty(list)) {
                 // 新增
-                OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo());
+                OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo(), order.getMemberId());
                 list.add(orderModel);
-            }
+//            }
         } else {
             List<OrderModel> list = new ArrayList<OrderModel>();
-            OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo());
+            OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo(), order.getMemberId());
             list.add(orderModel);
             orderMap.put(price, list);
         }
-        log.info("调整后:{}", JSONObject.toJSONString(orderMap));
+//        log.info("调整后:{}", JSONObject.toJSONString(orderMap));
     }
 
 
@@ -85,26 +87,26 @@
         int type = order.getType();
         Long orderId = order.getOrderId();
         queue.add(new AscBigDecimal(price));
-        log.info("原有:{}", JSONObject.toJSONString(orderMap));
+//        log.info("原有:{}", JSONObject.toJSONString(orderMap));
         // 需要找到这个订单的原始的单进行处理
         removeExistOrder(type, orderId, orderMap);
-        log.info("删除后:{}", JSONObject.toJSONString(orderMap));
+//        log.info("删除后:{}", JSONObject.toJSONString(orderMap));
         if (orderMap.containsKey(price)) {
             // 有这个价的key
             List<OrderModel> list = orderMap.get(price);
             // 判断这个单的这个类型是否有
-            if (CollectionUtils.isNotEmpty(list)) {
+//            if (CollectionUtils.isNotEmpty(list)) {
                 // 新增
-                OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo());
+                OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo(), order.getMemberId());
                 list.add(orderModel);
-            }
+//            }
         } else {
             List<OrderModel> list = new ArrayList<OrderModel>();
-            OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo());
+            OrderModel orderModel = new OrderModel(orderId, type, price, null,order.getOperateNo(), order.getMemberId());
             list.add(orderModel);
             orderMap.put(price, list);
         }
-        log.info("调整后:{}", JSONObject.toJSONString(orderMap));
+//        log.info("调整后:{}", JSONObject.toJSONString(orderMap));
     }
 
     private static void removeExistOrder(Integer type, Long orderId, Map<String, List<OrderModel>> orderMap) {
@@ -129,4 +131,15 @@
         }
     }
 
+    public static void wholePriceDataOperation(WholePriceDataModel wholePriceData) {
+        Map<String, WholePriceDataModel> dataModelMap = WholeDataQueue.MAP;
+
+        WholePriceDataModel isExistData = dataModelMap.get(wholePriceData.getMemberId().toString());
+        if (isExistData != null) {
+            dataModelMap.remove(wholePriceData.getMemberId().toString());
+        }
+
+        dataModelMap.put(wholePriceData.getMemberId().toString(), wholePriceData);
+    }
+
 }

--
Gitblit v1.9.1