| | |
| | | |
| | | 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 |
| | |
| | | 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"] |
| | | # 过滤错误数据 |
| | |
| | | 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)) |
| | |
| | | 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") |
| | | |
| | | |
| | | # 获取交易委托数据 |
| | |
| | | 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(): |
| | |
| | | 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 |