From 60d02096d9dc4bc9cb54f8cf81becd10a9dd0c61 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 24 十月 2023 16:22:47 +0800
Subject: [PATCH] L前3s囊括一次/增加L2数据接口/接口输出交易信息

---
 l2/transaction_progress.py |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/l2/transaction_progress.py b/l2/transaction_progress.py
index 756f02d..60e6ee0 100644
--- a/l2/transaction_progress.py
+++ b/l2/transaction_progress.py
@@ -5,6 +5,7 @@
 # 涔板叆闃熷垪
 import itertools
 import json
+import time
 
 import constant
 from db import redis_manager_delegate as redis_manager
@@ -16,6 +17,9 @@
 
 class TradeBuyQueue:
     buy_progress_index_cache = {}
+    latest_buy_progress_index_cache = {}
+    # 鎴愪氦閫熺巼
+    trade_speed_cache = {}
 
     __db = 0
     __redis_manager = redis_manager.RedisManager(0)
@@ -181,9 +185,22 @@
         index, is_default = self.__get_buy_progress_index_cache(code)
         return index, is_default
 
-    def set_traded_index(self, code, index):
+    # 璁剧疆浜ゆ槗杩涘害
+    def set_traded_index(self, code, index, total_datas=None):
+        last_info = self.latest_buy_progress_index_cache.get(code)
+        if not last_info or last_info[0] != index:
+            if last_info:
+                val = total_datas[last_info[0]]
+                rate = round(val["num"] * float(val["price"]) * 100 / (time.time() - last_info[1]))
+                # 鎴愪氦閫熺巼
+                self.trade_speed_cache[code] = rate
+            self.latest_buy_progress_index_cache[code] = (index, time.time())
         self.__save_buy_progress_index(code, index, False)
 
+    # 鑾峰彇鎴愪氦閫熺巼
+    def get_trade_speed(self, code):
+        return self.trade_speed_cache.get(code)
+
 
 if __name__ == '__main__':
     a = [1, 2, 3, 4]

--
Gitblit v1.8.0