From 3a87b1c89a76d858e8e7e4e54ff360dc0b8670f5 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 11 九月 2025 16:27:20 +0800
Subject: [PATCH] L撤删除L前撤单与L后后半段撤单

---
 log_module/log_export.py |   87 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 74 insertions(+), 13 deletions(-)

diff --git a/log_module/log_export.py b/log_module/log_export.py
index c2c0fa2..87a0510 100644
--- a/log_module/log_export.py
+++ b/log_module/log_export.py
@@ -453,31 +453,38 @@
     return cancel_reason_dict
 
 
-
 def __parse_content(line):
     line = line.split(" - ")[1]
     time_str = line[line.find("[") + 1:line.find("[") + 9]
     data = line[line.find("]") + 1:].strip()
-    if data.find("thread-id=")>-1 and data.find("code=")>-1:
-        data = data[data.find("code=")+11:].strip()
+    if data.find("thread-id=") > -1 and data.find("code=") > -1:
+        data = data[data.find("code=") + 11:].strip()
     return time_str, data
 
 
 # 鍔犺浇l2璁㈠崟鎴愪氦鏁版嵁
 @cache_log
 def load_huaxin_deal_record(code, date=tool.get_now_date_str()):
+    datas_dict = load_huaxin_deal_record_all(date)
+    return datas_dict.get(code)
+
+
+@cache_log
+def load_huaxin_deal_record_all(date=tool.get_now_date_str()):
     path = f"{constant.get_path_prefix()}/logs/huaxin/l2/transaction_desc.{date}.log"
     # 鏍煎紡:[(璁㈠崟鍙�,鎵嬫暟,寮�濮嬫垚浜ゆ椂闂�,鎴愪氦缁撴潫鏃堕棿,涓嬪崟鎵嬫暟)]
-    fdatas = []
+    fdatas = {}
     lines = __load_file_content(path)
     for line in lines:
-        data_index = line.find(f"{code}#")
+        data_index = line.find(f"#")
         if data_index > 0:
             time_str, data = __parse_content(line)
             code = data.split("#")[0]
             data = data.split("#")[1]
             data = eval(data)
-            fdatas.append(data)
+            if code not in fdatas:
+                fdatas[code] = []
+            fdatas[code].append(data)
     return fdatas
 
 
@@ -600,7 +607,6 @@
     return fdatas
 
 
-
 @cache_log
 def load_huaxin_l2_sell_deal_list(code=None, date=tool.get_now_date_str()):
     path = f"{constant.get_path_prefix()}/logs/huaxin/l2/sell_l2_deal.{date}.log"
@@ -614,7 +620,7 @@
                     data = line.split(" - ")[1].strip()
                     if data.startswith("["):
                         data = data[data.find("]") + 1:].strip()
-                    if data.find("娑ㄥ仠涓诲姩涔版垚浜わ細") <0:
+                    if data.find("娑ㄥ仠涓诲姩涔版垚浜わ細") < 0:
                         continue
                     data = data.split("娑ㄥ仠涓诲姩涔版垚浜わ細")[1]
                     data = eval(data)
@@ -828,12 +834,67 @@
     """
     fdatas = {}
     path = f"{constant.get_path_prefix()}/logs/gp/code_attribute/pre_close_price.{date}.log"
+    if os.path.exists(path):
+        lines = __load_file_content(path)
+        for line in lines:
+            if line:
+                data = line.split(" - ")[1]
+                code, price = data.split("-")[0].strip(), data.split("-")[1].strip()
+                fdatas[code] = price
+    return fdatas
+
+
+def load_special_codes(date=tool.get_now_date_str()):
+    """
+    鍔犺浇涔嬪墠鐨勬敹鐩樹环
+    @param date:
+    @return:
+    """
+    fdatas = {}
+    path = f"{constant.get_path_prefix()}/logs/gp/plates/special_codes.{date}.log"
     lines = __load_file_content(path)
-    for line in lines:
-        if line:
-            data = line.split(" - ")[1]
-            code, price = data.split("-")[0].strip(), data.split("-")[1].strip()
-            fdatas[code] = price
+    if lines:
+        line = lines[0]
+        line = line[line.find(" - ") + 3:]
+        return eval(line)
+    return None
+
+
+def load_virtual_trade_account(date=tool.get_now_date_str()):
+    """
+    鍔犺浇铏氭嫙浜ゆ槗鏁版嵁
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/logs/gp/virtual_account/virtual_account_money_records.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    time_str = __get_async_log_time(line)
+                    data = line[line.find("]") + 1:].strip()
+                    fdatas.append((time_str, eval(data)))
+    return fdatas
+
+
+def load_deal_list(date=tool.get_now_date_str()):
+    """
+    鍔犺浇铏氭嫙浜ゆ槗鏁版嵁
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/logs/huaxin_local/trade/deal.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    # time_str = __get_async_log_time(line)
+                    data = line[line.find("]") + 1:].strip()
+                    fdatas.append(eval(data))
     return fdatas
 
 

--
Gitblit v1.8.0