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后后半段撤单

---
 trade/trade_record_log_util.py |   95 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 72 insertions(+), 23 deletions(-)

diff --git a/trade/trade_record_log_util.py b/trade/trade_record_log_util.py
index 0ce36dc..2a01990 100644
--- a/trade/trade_record_log_util.py
+++ b/trade/trade_record_log_util.py
@@ -4,11 +4,9 @@
 
 # 涓嬪崟淇℃伅
 import json
-import pickle
 
 from log_module import async_log_util
 from log_module.log import logger_trade_record
-from third_data.code_plate_key_manager import KPLCodeJXBlockManager
 
 TYPE_PLACE_ORDER = "place_order"  # 涓嬪崟
 TYPE_REAL_PLACE_ORDER_POSITION = "real_place_order_position"  # 鐪熷疄涓嬪崟浣嶇疆
@@ -16,21 +14,38 @@
 TYPE_FORBIDDEN_BUY = "forbidden_buy"  # 绂佹涔板叆
 TYPE_CANT_PLACE_ORDER = "can_not_place_order"  # 涓嶈兘涓嬪崟
 TYPE_CANCEL = "cancel"  # 鎾ゅ崟
+TYPE_ACTION = "action"  # 閽堝浠g爜鐨勬搷浣�
 
 
 class PlaceOrderInfo(object):
     def __init__(self, buy_single_index=None, buy_exec_index=None, m_val=None, safe_count=None, big_num_indexes=None,
-                 kpl_blocks=None):
+                 kpl_blocks=None, kpl_match_blocks=None, mode=None, mode_desc=None, sell_info=None,
+                 block_info=None):
         self.buy_single_index = buy_single_index
         self.buy_exec_index = buy_exec_index
         self.m_val = m_val
         self.safe_count = safe_count
         self.big_num_indexes = big_num_indexes
         self.kpl_blocks = kpl_blocks
+        self.kpl_match_blocks = kpl_match_blocks
+        self.mode = mode
+        self.mode_desc = mode_desc
+        self.sell_info = sell_info
+        self.block_info = block_info
+
+    def set_block_info(self, block_info):
+        """
+        @param block_info:(鏉垮潡,娴佸叆閲戦)
+        @return:
+        """
+        self.block_info = block_info
 
     def set_buy_index(self, buy_single_index, buy_exec_index):
         self.buy_single_index = buy_single_index
         self.buy_exec_index = buy_exec_index
+
+    def set_sell_info(self, sell_info):
+        self.sell_info = sell_info
 
     def set_trade_factor(self, m_val, safe_count, big_num_indexes):
         self.m_val = m_val
@@ -39,6 +54,9 @@
 
     def set_kpl_blocks(self, kpl_blocks):
         self.kpl_blocks = kpl_blocks
+
+    def set_kpl_match_blocks(self, kpl_blocks):
+        self.kpl_match_blocks = kpl_blocks
 
     def to_json_str(self):
         return json.dumps(vars(self))
@@ -60,9 +78,10 @@
     CANCEL_TYPE_L_DOWN = "l_cancel_down"
     CANCEL_TYPE_D = "d_cancel"
 
-    def __init__(self, cancel_type, watch_indexes: list):
+    def __init__(self, cancel_type, buy_single_index, watch_indexes: list):
         self.cancel_type = cancel_type
         self.watch_indexes = watch_indexes
+        self.buy_single_index = buy_single_index
 
     def to_json_str(self):
         return json.dumps(vars(self))
@@ -95,8 +114,14 @@
     __add_log(TYPE_FORBIDDEN_BUY, code, {"msg": msg})
 
 
+__latest_cant_place_order_log_msg_dict = {}
+
+
 # 涓嶈兘涔�
 def add_cant_place_order_log(code, msg):
+    if __latest_cant_place_order_log_msg_dict.get(code) == msg:
+        return
+    __latest_cant_place_order_log_msg_dict[code] = msg
     __add_log(TYPE_CANT_PLACE_ORDER, code, {"msg": msg})
 
 
@@ -111,25 +136,49 @@
 
 
 # 娣诲姞鎾ゅ崟淇℃伅
-def add_cancel_msg_log(code, msg):
-    __add_log(TYPE_CANCEL, code, {"msg": msg})
+def add_cancel_msg_log(code, real_place_order_index, msg):
+    __add_log(TYPE_CANCEL, code, {"msg": msg, "real_place_order_index": real_place_order_index})
+
+
+# 鍔犵孩淇℃伅
+def add_must_buy(code, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": "鍔犵孩", "msg": msg})
+
+
+# 鍔犵豢
+def add_green(code, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": "鍔犵豢", "msg": msg})
+
+
+# 鍔犵櫧
+def add_white_buy(code, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": "鍔犵櫧", "msg": msg})
+
+
+# 鍔犳兂
+def add_want_buy(code, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": "鍔犳兂", "msg": msg})
+
+
+# 绉绘兂
+def remove_want_buy(code, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": "绉绘兂", "msg": msg})
+
+
+# 鍔犱复鏃惰鲸璇嗗害绁�
+def add_temp_special_codes(code, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": "鏂伴鏉�", "msg": msg})
+
+
+# 鍔犱笅鍗曡�楁椂
+def add_place_order_use_time(code, msg):
+    __add_log(TYPE_ACTION, code, {"type": "涓嬪崟鑰楁椂", "msg": msg})
+
+
+# 鍔犵櫧
+def add_common_msg(code, type_, msg=""):
+    __add_log(TYPE_ACTION, code, {"type": type_, "msg": msg})
 
 
 if __name__ == "__main__":
-    code = "000333"
-    __trade_log_placr_order_info_dict = {code: PlaceOrderInfo()}
-    try:
-        jx_blocks, jx_blocks_by = KPLCodeJXBlockManager().get_jx_blocks_cache(
-            code), KPLCodeJXBlockManager().get_jx_blocks_cache(code, by=True)
-        info = __trade_log_placr_order_info_dict[code]
-        info.set_buy_index(0, 1)
-        if jx_blocks:
-            info.set_kpl_blocks(list(jx_blocks))
-        elif jx_blocks_by:
-            info.set_kpl_blocks(list(jx_blocks_by))
-        else:
-            info.set_kpl_blocks([])
-
-        add_place_order_log(code, info)
-    except Exception as e:
-        pass
+    pass

--
Gitblit v1.8.0