From f0bf43aa74bb21f92a8868dfa31b5419173d3f52 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 08 七月 2025 13:57:00 +0800
Subject: [PATCH] bug修复/策略完善

---
 api/outside_api_callback.py |   48 ++++++++++++++++++++++++++----------------------
 1 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/api/outside_api_callback.py b/api/outside_api_callback.py
index f1ab133..63ebb2e 100644
--- a/api/outside_api_callback.py
+++ b/api/outside_api_callback.py
@@ -255,28 +255,32 @@
                 if sv is None:
                     result_json = {"code": 1, "msg": '浠g爜鍙橀噺瀵硅薄涓嶅瓨鍦�'}
                 else:
-                    place_order_record_manager.set_buy(record[0])
-                    # 鍙互涓嬪崟
-                    # 鍒ゆ柇鏄惁鍙互涔�
-                    order_ref = huaxin_util.create_order_ref()
-                    price = tool.get_buy_max_price(sv.褰撳墠浠�)
-                    volume = 100
-                    DealCodesManager().place_order(set(record[2].keys()), record[1], order_ref, price, volume)
-                    trade_record_log_util.add_place_order_log(code, trade_record_log_util.PlaceOrderInfo(code=code,
-                                                                                                         time_str=
-                                                                                                         record[4],
-                                                                                                         price=sv.褰撳墠浠�,
-                                                                                                         rate=round((
-                                                                                                                            sv.褰撳墠浠� - sv.鏄ㄦ棩鏀剁洏浠�) * 100 / sv.鏄ㄦ棩鏀剁洏浠�,
-                                                                                                                    2),
-                                                                                                         plates=record[
-                                                                                                             2].keys(),
-                                                                                                         plates_info=
-                                                                                                         record[2],
-                                                                                                         info=record[3]
-                                                                                                         ))
-                    async_log_util.info(logger_trade, f"{code}涓嬪崟锛屾澘鍧楋細{record[2].keys()}")
-                    result_json = {"code": 0, "msg": '澶勭悊鎴愬姛'}
+                    try:
+                        place_order_record_manager.set_buy(record[0])
+                        # 鍙互涓嬪崟
+                        # 鍒ゆ柇鏄惁鍙互涔�
+                        order_ref = huaxin_util.create_order_ref()
+                        price = tool.get_buy_max_price(sv.褰撳墠浠�)
+                        volume = 100
+                        DealCodesManager().place_order(set(record[2].keys()), record[1], order_ref, price, volume)
+                        trade_record_log_util.add_place_order_log(code, trade_record_log_util.PlaceOrderInfo(code=code,
+                                                                                                             time_str=
+                                                                                                             record[4],
+                                                                                                             price=sv.褰撳墠浠�,
+                                                                                                             rate=round((
+                                                                                                                                sv.褰撳墠浠� - sv.鏄ㄦ棩鏀剁洏浠�) * 100 / sv.鏄ㄦ棩鏀剁洏浠�,
+                                                                                                                        2),
+                                                                                                             plates=record[
+                                                                                                                 2].keys(),
+                                                                                                             plates_info=
+                                                                                                             record[2],
+                                                                                                             info=record[3]
+                                                                                                             ))
+                        async_log_util.info(logger_trade, f"{code}涓嬪崟锛屾澘鍧楋細{record[2].keys()}")
+                        result_json = {"code": 0, "msg": '澶勭悊鎴愬姛'}
+                    except Exception as e:
+                        logger_trade.exception(e)
+                        result_json = {"code": 0, "msg": str(e)}
         elif ctype == 'set_place_order_not_buy':
             id_ = data.get("id")
             place_order_record_manager = PlaceOrderRecordManager(tool.get_now_date_str())

--
Gitblit v1.8.0