From 6e71fbcb119e7068ba35380edaa5cc66e7c71f1b Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 27 十月 2022 16:21:05 +0800
Subject: [PATCH] 交易体系完善

---
 trade_manager.py |   67 ++++++++-------------------------
 1 files changed, 17 insertions(+), 50 deletions(-)

diff --git a/trade_manager.py b/trade_manager.py
index 615145d..1e40def 100644
--- a/trade_manager.py
+++ b/trade_manager.py
@@ -3,16 +3,16 @@
 瀵逛竴绯诲垪鐨勪唬鐮佷氦鏄撳彉閲忥紝涓嬪崟锛屾挙鍗曡繘琛岀鐞�
 """
 # 浜ゆ槗绠$悊鍣�
-import datetime
 import json
 import time
 
 import gpcode_manager
-import l2_code_operate
+import l2_trade_util
 import mysql_data
 import tool
 from trade_data_manager import TradeBuyDataManager
-from trade_gui import THSGuiTrade, async_call
+from trade_gui import THSGuiTrade, THSBuyWinManagerNew
+
 import time as t
 import l2_data_manager
 
@@ -34,6 +34,8 @@
 TRADE_STATE_BUY_CANCEL_SUCCESS = 14
 # 涔版垚鍔�
 TRADE_STATE_BUY_SUCCESS = 12
+
+
 
 guiTrade = THSGuiTrade()
 
@@ -102,8 +104,10 @@
                     data["trade_num"], data["type"], data["day"], round(t.time() * 1000)))
         else:
             mysqldb.execute(
-                "update ths_trade_success_record set money=%s, num=%s, price=%s,time=%s,trade_num=%s,type=%s where _id=%s",(
-                    data["money"], data["num"], data["price"], data["time"], data["trade_num"], data["type"],data["_id"]))
+                "update ths_trade_success_record set money=%s, num=%s, price=%s,time=%s,trade_num=%s,type=%s where _id=%s",
+                (
+                    data["money"], data["num"], data["price"], data["time"], data["trade_num"], data["type"],
+                    data["_id"]))
 
 
 # 淇濆瓨浜ゆ槗濮旀墭鏁版嵁
@@ -118,10 +122,10 @@
         counts = mysqldb.select_one("select count(*) from ths_trade_delegate_record where _id='{}'".format(data["_id"]))
         if counts[0] < 1:
             mysqldb.execute(
-                "insert into ths_trade_delegate_record(_id,code,num,price,time,trade_num,trade_price,type,day,create_time) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%d)",
+                "insert into ths_trade_delegate_record(_id,code,num,price,time,trade_num,trade_price,type,day,create_time) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",
                 (
-                    data["_id"], data["code"],  data["num"], data["price"], data["time"],
-                    data["trade_num"],data["trade_price"], data["type"], data["day"], round(t.time() * 1000)))
+                    data["_id"], data["code"], data["num"], data["price"], data["time"],
+                    data["trade_num"], data["trade_price"], data["type"], data["day"], round(t.time() * 1000)))
 
     # 淇濆瓨鏈�鏂扮殑濮旀墭鏁版嵁
     redis = __redis_manager.getRedis()
@@ -155,50 +159,11 @@
         return json.loads(result), time_str
 
 
-#  鍒濆鍖栫姝氦鏄撲唬鐮佸簱
-def init_forbidden_trade_codes():
-    key = "forbidden-trade-codes"
-    redis = __redis_manager.getRedis()
-    count = redis.scard(key)
-    if count > 0:
-        redis.delete(key)
-    redis.sadd(key, "000000")
-    redis.expire(key, tool.get_expire())
-
-
-# 绉婚櫎绂佹浜ゆ槗浠g爜
-def remove_from_forbidden_trade_codes(code):
-    key = "forbidden-trade-codes"
-    redis = __redis_manager.getRedis()
-    redis.srem(key, code)
-
-
-# 娣诲姞浠g爜鍒扮姝氦鏄�
-def add_to_forbidden_trade_codes(code):
-    key = "forbidden-trade-codes"
-    redis = __redis_manager.getRedis()
-    redis.sadd(key, code)
-    redis.expire(key, tool.get_expire())
-
-
-# 绂佹浠g爜浜ゆ槗
-def forbidden_trade(code):
-    add_to_forbidden_trade_codes(code)
-    l2_data_manager.remove_from_l2_fixed_codes(code)
-    l2_code_operate.L2CodeOperate.get_instance().remove_l2_listen(code, "绂佹浠g爜浜ゆ槗")
-
-
-# 鏄惁鍦ㄧ姝氦鏄撲唬鐮佷腑
-def is_in_forbidden_trade_codes(code):
-    key = "forbidden-trade-codes"
-    redis = __redis_manager.getRedis()
-    return redis.sismember(key, code)
-
 
 # 寮�濮嬩氦鏄�
 def start_buy(code, capture_timestamp, last_data, last_data_index):
     # 鏄惁绂佹浜ゆ槗
-    if is_in_forbidden_trade_codes(code):
+    if l2_trade_util.is_in_forbidden_trade_codes(code):
         raise Exception("绂佹浜ゆ槗")
     trade_state = get_trade_state(code)
     if trade_state != TRADE_STATE_NOT_TRADE and trade_state != TRADE_STATE_BUY_CANCEL_SUCCESS and trade_state != TRADE_STATE_BUY_CANCEL_ING:
@@ -220,7 +185,7 @@
 
 
 # 璐拱
-@async_call
+@tool.async_call
 def __buy(code, price, trade_state, capture_timestamp, last_data, last_data_index):
     try:
         guiTrade.buy(code, price)
@@ -290,7 +255,7 @@
         if _time == "00:00:00":
             continue
         if code is not None and int(data["type"]) == 0:
-            forbidden_trade(code)
+            l2_trade_util.forbidden_trade(code)
             state = get_trade_state(code)
             if state != TRADE_STATE_BUY_SUCCESS:
                 set_trade_state(code, TRADE_STATE_BUY_SUCCESS)
@@ -298,6 +263,8 @@
                 l2_data_manager.TradePointManager.delete_compute_info_for_cancel_buy(code)
                 l2_data_manager.TradePointManager.delete_buy_cancel_point(code)
                 l2_data_manager.TradePointManager.delete_buy_point(code)
+                # 绉婚櫎浜ゆ槗绐楀彛鍒嗛厤
+                THSBuyWinManagerNew.cancel_distribute_win_for_code(code)
 
 
 # 澶勭悊濮旀墭鎴愬姛鏁版嵁

--
Gitblit v1.8.0