|
@@ -4,7 +4,7 @@ import multiprocessing
|
|
|
import traceback
|
|
|
import hashlib
|
|
|
|
|
|
-from datetime import datetime
|
|
|
+from datetime import datetime, timedelta
|
|
|
|
|
|
import config
|
|
|
from log import Log
|
|
@@ -515,6 +515,30 @@ def update_local_distribute_count(videos):
|
|
|
log_.error(traceback.format_exc())
|
|
|
|
|
|
|
|
|
+def get_religion_class_with_mid(mid, religion_class_name):
|
|
|
+ """
|
|
|
+ 判断用户是否属于对应的宗教类型
|
|
|
+ :param mid: mid type-string
|
|
|
+ :param religion_class_name: 宗教类型, type-string, (catholicism-天主教, christianity-基督教)
|
|
|
+ :return: religion_class_flag, type-int, (0-否,1-是), 默认: 0
|
|
|
+ """
|
|
|
+ religion_class_flag = 0
|
|
|
+ now_date = datetime.today()
|
|
|
+ redis_helper = RedisHelper()
|
|
|
+ if mid:
|
|
|
+ hash_mid = hashlib.md5(mid.encode('utf-8')).hexdigest()
|
|
|
+ hash_tag = hash_mid[-1:]
|
|
|
+ key_name_prefix = config_.KEY_NAME_PREFIX_RELIGION_USER.get(religion_class_name, None)
|
|
|
+ if key_name_prefix is None:
|
|
|
+ return religion_class_flag
|
|
|
+ key_name = f"{key_name_prefix}{hash_tag}:{datetime.strftime(now_date, '%Y%m%d')}"
|
|
|
+ if not redis_helper.key_exists(key_name=key_name):
|
|
|
+ key_name = f"{key_name_prefix}{hash_tag}:{datetime.strftime(now_date - timedelta(days=1), '%Y%m%d')}"
|
|
|
+ if redis_helper.data_exists_with_set(key_name=key_name, value=mid):
|
|
|
+ religion_class_flag = 1
|
|
|
+ return religion_class_flag
|
|
|
+
|
|
|
+
|
|
|
def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_type, page_type=0):
|
|
|
"""
|
|
|
根据实验分组给定对应的推荐参数
|
|
@@ -617,13 +641,37 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_typ
|
|
|
# data_key = param.get('data_key')
|
|
|
# no_op_flag = True
|
|
|
|
|
|
- for code, param in config_.AB_EXP_CODE.items():
|
|
|
- if code in ab_exp_code_list:
|
|
|
- ab_code = param.get('ab_code')
|
|
|
- rule_key = param.get('rule_key')
|
|
|
- data_key = param.get('data_key')
|
|
|
- rule_key_30day = param.get('30day_rule_key')
|
|
|
- break
|
|
|
+ # 老好看视频 宗教人群实验
|
|
|
+ if '228' in ab_exp_code_list:
|
|
|
+ # 天主教
|
|
|
+ religion_param = config_.AB_EXP_CODE['228']
|
|
|
+ religion_class_name = religion_param.get('religion_class_name')
|
|
|
+ religion_class_flag = get_religion_class_with_mid(mid=mid, religion_class_name=religion_class_name)
|
|
|
+ if religion_class_flag == 1:
|
|
|
+ ab_code = religion_param.get('ab_code')
|
|
|
+ rule_key = religion_param.get('rule_key')
|
|
|
+ data_key = religion_param.get('data_key')
|
|
|
+ rule_key_30day = religion_param.get('30day_rule_key')
|
|
|
+
|
|
|
+ elif '229' in ab_exp_code_list:
|
|
|
+ # 基督教
|
|
|
+ religion_param = config_.AB_EXP_CODE['229']
|
|
|
+ religion_class_name = religion_param.get('religion_class_name')
|
|
|
+ religion_class_flag = get_religion_class_with_mid(mid=mid, religion_class_name=religion_class_name)
|
|
|
+ if religion_class_flag == 1:
|
|
|
+ ab_code = religion_param.get('ab_code')
|
|
|
+ rule_key = religion_param.get('rule_key')
|
|
|
+ data_key = religion_param.get('data_key')
|
|
|
+ rule_key_30day = religion_param.get('30day_rule_key')
|
|
|
+
|
|
|
+ else:
|
|
|
+ for code, param in config_.AB_EXP_CODE.items():
|
|
|
+ if code in ab_exp_code_list:
|
|
|
+ ab_code = param.get('ab_code')
|
|
|
+ rule_key = param.get('rule_key')
|
|
|
+ data_key = param.get('data_key')
|
|
|
+ rule_key_30day = param.get('30day_rule_key')
|
|
|
+ break
|
|
|
|
|
|
"""
|
|
|
# 推荐条数 10->4 实验
|