From 892b50e242e3c59a738b92dfdfee1bf1ff8932f2 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 21 十月 2022 16:59:58 +0800
Subject: [PATCH] 新策略修改

---
 trade_manager.py |   50 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/trade_manager.py b/trade_manager.py
index e82fae4..615145d 100644
--- a/trade_manager.py
+++ b/trade_manager.py
@@ -9,7 +9,7 @@
 
 import gpcode_manager
 import l2_code_operate
-import mongo_data
+import mysql_data
 import tool
 from trade_data_manager import TradeBuyDataManager
 from trade_gui import THSGuiTrade, async_call
@@ -85,6 +85,7 @@
     redis = __redis_manager.getRedis()
     time_str = datetime.datetime.now().strftime("%H:%M:%S")
     redis.setex("trade-success-latest-time", tool.get_expire(), time_str)
+    mysqldb = mysql_data.Mysqldb()
     for data in datas:
         _time = data["time"]
         # 杩囨护閿欒鏁版嵁
@@ -93,22 +94,35 @@
         data["_id"] = data["trade_num"]
         data["day"] = day
         data["create_time"] = int(round(t.time() * 1000))
-        count = mongo_data.count("ths-trade-success-record", {"_id": data["_id"]})
-        if count is None or count < 1:
-            mongo_data.save_one("ths-trade-success-record", data)
+        counts = mysqldb.select_one("select count(*) from ths_trade_success_record where _id='{}'".format(data["_id"]))
+        if counts[0] < 1:
+            mysqldb.execute(
+                "insert into ths_trade_success_record(_id,code,money,num,price,time,trade_num,type,day,create_time) values('{}','{}','{}','{}','{}','{}','{}',{},'{}',{})".format(
+                    data["_id"], data["code"], data["money"], data["num"], data["price"], data["time"],
+                    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"]))
 
 
 # 淇濆瓨浜ゆ槗濮旀墭鏁版嵁
 def save_trade_delegate_data(datas):
     day = datetime.datetime.now().strftime("%Y%m%d")
     time_str = datetime.datetime.now().strftime("%H:%M:%S")
+    mysqldb = mysql_data.Mysqldb()
     for data in datas:
         data["_id"] = "{}-{}-{}".format(day, data["code"], data["time"])
         data["day"] = day
         data["create_time"] = int(round(t.time() * 1000))
-        count = mongo_data.count("ths-trade-delegate-record", {"_id": data["_id"]})
-        if count is None or count < 1:
-            mongo_data.save_one("ths-trade-delegate-record", data)
+        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)",
+                (
+                    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()
     redis.setex("trade-delegate-latest", tool.get_expire(), json.dumps(datas))
@@ -119,7 +133,15 @@
 def get_trade_success_data():
     redis = __redis_manager.getRedis()
     day = datetime.datetime.now().strftime("%Y%m%d")
-    return mongo_data.find("ths-trade-success-record", {"day": day}), redis.get("trade-success-latest-time")
+    mysqldb = mysql_data.Mysqldb()
+    results = mysqldb.select_all("select * from ths_trade_success_record where day='{}'".format(day))
+    datas = []
+    for result in results:
+        data = {"_id": result[0], "code": result[1], "money": result[2], "num": result[3], "price": result[4],
+                "time": result[5], "trade_num": result[6], "type": result[7], "day": result[8],
+                "create_time": result[9]}
+        datas.append(data)
+    return datas, redis.get("trade-success-latest-time")
 
 
 # 鑾峰彇浜ゆ槗濮旀墭鏁版嵁
@@ -316,8 +338,12 @@
     redis_info = redis_manager.RedisManager(0).getRedis()
     keys = redis_info.keys("*{}*".format(code))
     for k in keys:
-        if k.find("pre") is None or k.find("pre") or k.find("zyltgb") < 0:
-            redis_info.delete(k)
+        if k.find("pre") is not None:
+            continue
+        if k.find("zyltgb") is not None:
+            continue
+
+        redis_info.delete(k)
 
 
 def __clear_big_data():
@@ -330,6 +356,6 @@
 if __name__ == "__main__":
     # time_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
     # print(time_str)
-    # __clear_data("002093")
-    __clear_big_data()
+    __clear_data("002388")
+    # __clear_big_data()
     pass

--
Gitblit v1.8.0