From cbe19ea6066a600cbd0b5110db5d43f8252d14a8 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 13 六月 2024 11:23:53 +0800
Subject: [PATCH] L撤成交进度相关改进

---
 code_attribute/code_volumn_manager.py |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/code_attribute/code_volumn_manager.py b/code_attribute/code_volumn_manager.py
index c5a58f2..3c046c8 100644
--- a/code_attribute/code_volumn_manager.py
+++ b/code_attribute/code_volumn_manager.py
@@ -7,6 +7,7 @@
 # yesterday 鏄ㄥぉ鐨勯噺
 import json
 
+from code_attribute import gpcode_manager
 from db.redis_manager_delegate import RedisUtils
 from log_module import async_log_util
 from utils import global_util, tool
@@ -18,12 +19,13 @@
 
 
 # 璁剧疆鍘嗗彶閲�
-def set_histry_volumn(code, max60, yesterday, max60_day=''):
+def set_histry_volumn(code, max60, yesterday, max60_day, max60_day_count):
     redis = __redis_manager.getRedis()
-    global_util.max60_volumn[code] = (max60, max60_day)
+    global_util.max60_volumn[code] = (max60, max60_day, max60_day_count)
     global_util.yesterday_volumn[code] = yesterday
     try:
-        RedisUtils.setex_async(0, "volumn_max60-{}".format(code), tool.get_expire(), json.dumps((max60, max60_day)),
+        RedisUtils.setex_async(0, "volumn_max60-{}".format(code), tool.get_expire(),
+                               json.dumps((max60, max60_day, max60_day_count)),
                                auto_free=False)
         RedisUtils.setex_async(0, "volumn_yes-{}".format(code), tool.get_expire(), yesterday, auto_free=False)
     finally:
@@ -90,7 +92,7 @@
     today = get_today_volumn(code)
     max60, yesterday = get_histry_volumn(code)
     if today is None or max60 is None or yesterday is None:
-        raise Exception("鑾峰彇閲忓け璐�")
+        raise Exception(f"鑾峰彇閲忓け璐�:{code}")
     rate = round((int(today) + total_sell_volume) / max(int(max60[0]), int(yesterday)), 2)
     if not with_info:
         return rate
@@ -98,14 +100,15 @@
 
 
 # 鑾峰彇閲忓弬鑰冩棩鏈�
+# 杩斿洖(鍙傝�冮噺鏃ユ湡,璺濅粖鐨勪氦鏄撴棩涓暟)
 def get_volume_refer_date(code):
     max60, yesterday = get_histry_volumn(code)
     if max60 is None or yesterday is None:
         raise Exception("鑾峰彇澶辫触")
     if int(max60[0]) >= int(yesterday):
-        return max60[1]
+        return max60[1], max60[2]
     else:
-        return "涓婁釜浜ゆ槗鏃�"
+        return "涓婁釜浜ゆ槗鏃�", 0
 
 
 # 鑾峰彇閲忔瘮绱㈠紩
@@ -151,5 +154,28 @@
         RedisUtils.realse(redis)
 
 
+__reference_volume_as_money_y_dict = {}
+
+
+def get_reference_volume_as_money_y(code):
+    """
+    杩斿洖鍙傝�冮噺浠婃棩瀵瑰簲鐨勯噾棰濓紙鍗曚綅涓轰嚎锛�
+    @param code:
+    @return:
+    """
+    if code in __reference_volume_as_money_y_dict:
+        return __reference_volume_as_money_y_dict.get(code)
+    max60, yesterday = get_histry_volumn(code)
+    if max60:
+        num = max60[0]
+        limit_up_price = gpcode_manager.get_limit_up_price(code)
+        if limit_up_price:
+            money_y = round((num * float(limit_up_price)) / 1e8, 1)
+            __reference_volume_as_money_y_dict[code] = money_y
+            return money_y
+    # 榛樿涓�5浜�
+    return 5
+
+
 if __name__ == "__main__":
     print(get_volume_rate("000059"))

--
Gitblit v1.8.0