From 6a0d3ff5832e57ee1b1374d086f24b3c1679b332 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 05 九月 2025 18:22:24 +0800
Subject: [PATCH] bug修复/降低测撤单率

---
 utils/huaxin_util.py |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/utils/huaxin_util.py b/utils/huaxin_util.py
index f362ac6..2ce0e45 100644
--- a/utils/huaxin_util.py
+++ b/utils/huaxin_util.py
@@ -1,4 +1,9 @@
 # 鎶ュ崟鐘舵��
+import random
+import threading
+
+from utils import tool
+
 TORA_TSTP_OST_Cached = '0'  # 棰勫煁
 TORA_TSTP_OST_Unknown = '1'  # 鏈煡
 TORA_TSTP_OST_Accepted = '2'  # 浜ゆ槗鎵�宸叉帴鏀�
@@ -27,3 +32,39 @@
 TORA_TSTP_EXD_SZSE = 2  # 娣卞湷浜ゆ槗鎵�
 TORA_TSTP_EXD_HK = 3  # 棣欐腐浜ゆ槗鎵�
 TORA_TSTP_EXD_BSE = 4  # 鍖椾含璇佸埜浜ゆ槗鎵�
+
+
+# 鏄惁鍙互鎾ゅ崟
+def is_can_cancel(state):
+    if state == TORA_TSTP_OST_Cached or state == TORA_TSTP_OST_Unknown or state == TORA_TSTP_OST_Accepted or state == TORA_TSTP_OST_PartTraded:
+        return True
+    return False
+
+
+# 鏄惁宸茬粡鎾ゅ崟
+def is_canceled(state):
+    if state == TORA_TSTP_OST_AllCanceled or state == TORA_TSTP_OST_PartTradeCanceled:
+        return True
+    return False
+
+
+# 鏄惁宸茬粡鎴愪氦
+def is_deal(state):
+    if state == TORA_TSTP_OST_PartTraded or state == TORA_TSTP_OST_AllTraded or state == TORA_TSTP_OST_PartTradeCanceled:
+        return True
+    return False
+
+
+__order_ref_lock = threading.RLock()
+__public_order_ref = int(tool.get_now_time_str().replace(":", ""))
+
+
+# 鍒涘缓璁㈠崟寮曠敤
+def create_order_ref():
+    __order_ref_lock.acquire()
+    try:
+        global __public_order_ref
+        __public_order_ref += random.randint(5, 20)
+        return __public_order_ref
+    finally:
+        __order_ref_lock.release()

--
Gitblit v1.8.0