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