From 4ee1bd5de9ca76a69adac6e17a11bd686c742ef3 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 22 五月 2024 18:57:54 +0800
Subject: [PATCH] 融入交易

---
 middle_server.py |   41 +++++++++++++++++++++++++++++++++++------
 1 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/middle_server.py b/middle_server.py
index 4e39e59..a81c36e 100644
--- a/middle_server.py
+++ b/middle_server.py
@@ -1,4 +1,5 @@
 import builtins
+import copy
 import hashlib
 import json
 import logging
@@ -10,17 +11,34 @@
 import time
 
 import constant
-import log
 import socket_manager
 from db import mysql_data
 from db.redis_manager import RedisUtils, RedisManager
-from log import logger_debug, logger_request_debug
+from log_module import log
+from log_module.log import logger_debug
 from middle_l1_data_server import L1DataManager
 from output import push_msg_manager
+from trade import huaxin_trade_api
 from utils import socket_util, kpl_api_util, hosting_api_util, kp_client_msg_manager, global_data_cache_util, tool
 from utils.juejin_util import JueJinHttpApi
 
 trade_data_request_queue = queue.Queue()
+
+__mysql_config_dict = {}
+
+
+def get_mysql_config(db_name):
+    """
+    鑾峰彇mysql鐨勯厤缃�
+    :param db_name:
+    :return:
+    """
+    if db_name in __mysql_config_dict:
+        return __mysql_config_dict.get(db_name)
+    config = copy.deepcopy(constant.MYSQL_CONFIG)
+    config["database"] = db_name
+    __mysql_config_dict[db_name] = config
+    return config
 
 
 class MyTCPServer(socketserver.TCPServer):
@@ -235,7 +253,8 @@
                                 db = data["db"]
                                 cmd = data["cmd"]
                                 args = data.get("args")
-                                mysql = mysql_data.Mysqldb()
+                                mysql_config = get_mysql_config(db)
+                                mysql = mysql_data.Mysqldb(mysql_config)
                                 method = getattr(mysql, cmd)
                                 args_ = []
                                 if args:
@@ -300,11 +319,21 @@
                             datas = data_json["data"]
                             L1DataManager.add_datas(datas)
                             break
+                        elif data_json["type"] == "simulation_trade":
+                            datas = data_json["data"]
+                            ctype = datas["ctype"]
+                            data = datas["data"]
+                            result = huaxin_trade_api.request(ctype,data)
+                            result_str = json.dumps({"code": 0, "data": result}, default=str)
+                            sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8')))
+
+
                     except Exception as e:
                         log.logger_tuoguan_request_debug.exception(e)
                     finally:
                         if time.time() - __start_time > 2:
-                            log.logger_tuoguan_request_debug.info(f"鑰楁椂锛歿int(time.time() - __start_time)}s  鏁版嵁锛歿data_json}")
+                            log.logger_tuoguan_request_debug.info(
+                                f"鑰楁椂锛歿int(time.time() - __start_time)}s  鏁版嵁锛歿data_json}")
                 else:
                     # 鏂紑杩炴帴
                     break
@@ -341,7 +370,7 @@
                 pass
 
 
-def run(port =  constant.MIDDLE_SERVER_PORT):
+def run(port=constant.MIDDLE_SERVER_PORT):
     print("create MiddleServer")
     t1 = threading.Thread(target=lambda: clear_invalid_client(), daemon=True)
     t1.start()
@@ -353,4 +382,4 @@
 
 
 if __name__ == "__main__":
-    print(builtins.type("")==str)
+    pass

--
Gitblit v1.8.0