Explorar o código

opt get_user_has30day_return

liqian %!s(int64=2) %!d(string=hai) anos
pai
achega
5810fa2470
Modificáronse 2 ficheiros con 20 adicións e 29 borrados
  1. 3 22
      config.py
  2. 17 7
      utils.py

+ 3 - 22
config.py

@@ -591,6 +591,9 @@ class BaseConfig(object):
     # 限流视频分发数记录 redis key前缀,完整格式:'limit:video:distribute:count:{videoId}'
     KEY_NAME_PREFIX_LIMIT_VIDEO_DISTRIBUTE_COUNT = 'limit:video:distribute:count:'
 
+    # 用户近30天是否有回流状态 存放 redis key 前缀,完整格式:'user:has30day:return:{mid}'
+    KEY_NAME_PREFIX_USER_HAS30DAY_RETURN = 'user:has30day:return:'
+
     # 视频数据表类型 - 管理后台算法视频列表可视化
     VIDEO_DATA_LIST_MAPPING = {
         0: {
@@ -617,28 +620,6 @@ class BaseConfig(object):
 
     }
 
-    # VIDEO_DATA_LIST_AB_EXP_CODE_MAPPING = {
-    #     # "055": {"app_type": 0, "data_key": "data1", "rule_key": "rule2"},
-    #     "068": {"app_type": 5, "data_key": "data1", "rule_key": "rule3"},
-    #     "069": {"app_type": 19, "data_key": "data1", "rule_key": "rule3"},
-    #     "072": {"app_type": 4, "data_key": "data1", "rule_key": "rule3"},
-    #     "073": {"app_type": 6, "data_key": "data1", "rule_key": "rule3"},
-    #     "074": {"app_type": 18, "data_key": "data1", "rule_key": "rule3"},
-    #     "079": {"app_type": 0, "data_key": "data1", "rule_key": "rule3"},
-    #     # "081": {"app_type": 5, "data_key": "data2", "rule_key": "rule3"},
-    #     "082": {"app_type": 5, "data_key": "data3", "rule_key": "rule3"},
-    #     "083": {"app_type": 5, "data_key": "data4", "rule_key": "rule3"},
-    #     "084": {"app_type": 0, "data_key": "data2", "rule_key": "rule3"},
-    #     "089": {"app_type": 19, "data_key": "data2", "rule_key": "rule3"},
-    #     "090": {"app_type": 19, "data_key": "data3", "rule_key": "rule3"},
-    #     "095": {"app_type": 0, "data_key": "data1", "rule_key": "rule4"},
-    #     "096": {"app_type": 4, "data_key": "data2", "rule_key": "rule3"},
-    #     "097": {"app_type": 4, "data_key": "data3", "rule_key": "rule3"},
-    #     "098": {"app_type": 6, "data_key": "data2", "rule_key": "rule3"},
-    #     "099": {"app_type": 6, "data_key": "data3", "rule_key": "rule3"},
-    #     "100": {"app_type": 18, "data_key": "data2", "rule_key": "rule3"},
-    #     "105": {"app_type": 0, "data_key": "data1", "rule_key": "rule5"},
-    # }
     REGION_CODE = {
         '北京': '110000', '天津': '120000', '河北省': '130000', '山西省': '140000', '内蒙古': '150000',
         '辽宁省': '210000', '吉林省': '220000', '黑龙江省': '230000',

+ 17 - 7
utils.py

@@ -77,14 +77,24 @@ def get_user_has30day_return(mid):
     :param mid: mid
     :return: data, type
     """
-    request_url = f"{config_.GET_USER_30DayReturnCnt_URL}{mid}"
-    result = request_get(request_url=request_url, timeout=0.1)
-    if result is None:
-        return None
-    if result['code'] != 0:
+    if not mid:
         return None
-    data = result['data']
-    return data
+    # 获取redis中存储的状态值
+    user_key = f"{config_.KEY_NAME_PREFIX_USER_HAS30DAY_RETURN}{mid}"
+    redis_helper = RedisHelper()
+    if redis_helper.key_exists(key_name=user_key):
+        data = redis_helper.get_data_from_redis(key_name=user_key)
+        return data
+    else:
+        request_url = f"{config_.GET_USER_30DayReturnCnt_URL}{mid}"
+        result = request_get(request_url=request_url, timeout=0.1)
+        if result is None:
+            return None
+        if result['code'] != 0:
+            return None
+        data = result['data']
+        redis_helper.set_data_to_redis(key_name=user_key, value=data, expire_time=2 * 3600)
+        return data
 
 
 def get_videos_remain_view_count(app_type, videos):