Commit b8c19bb7 authored by lixiaofang's avatar lixiaofang

add

parent fdf271c5
This diff is collapsed.
...@@ -47,7 +47,7 @@ class GroupUtils(object): ...@@ -47,7 +47,7 @@ class GroupUtils(object):
return {"total_count":0, "hits":[]} return {"total_count":0, "hits":[]}
@classmethod @classmethod
def get_hot_group_recommend_result_list(cls,offset,size,es_cli_obj=None): def get_hot_pictorial_recommend_result_list(cls,offset,size,es_cli_obj=None):
try: try:
if not es_cli_obj: if not es_cli_obj:
es_cli_obj = ESPerform.get_cli() es_cli_obj = ESPerform.get_cli()
...@@ -68,19 +68,19 @@ class GroupUtils(object): ...@@ -68,19 +68,19 @@ class GroupUtils(object):
"includes":["id"] "includes":["id"]
} }
result_dict = ESPerform.get_search_results(es_cli_obj,"group",q,offset,size) result_dict = ESPerform.get_search_results(es_cli_obj,"pictorial",q,offset,size)
group_ids_list = [] pictorial_ids_list = []
if len(result_dict["hits"]) > 0: if len(result_dict["hits"]) > 0:
group_ids_list = [item["_source"]["id"] for item in result_dict["hits"]] pictorial_ids_list = [item["_source"]["id"] for item in result_dict["hits"]]
return group_ids_list return pictorial_ids_list
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return [] return []
@classmethod @classmethod
def get_user_attention_group_list(cls,user_id,offset=0,size=10,es_cli_obj=None): def get_user_attention_pictorial_list(cls,user_id,offset=0,size=10,es_cli_obj=None):
""" """
:remark: 获取用户关注小组列表 :remark: 获取用户关注小组列表
:return: :return:
...@@ -100,12 +100,12 @@ class GroupUtils(object): ...@@ -100,12 +100,12 @@ class GroupUtils(object):
} }
} }
q["_source"] = { q["_source"] = {
"includes":["attention_group_id_list"] "includes":["attention_pictorial_id_list"]
} }
result_dict = ESPerform.get_search_results(es_cli_obj,"user",q,offset,size) result_dict = ESPerform.get_search_results(es_cli_obj,"user",q,offset,size)
if len(result_dict["hits"])>0: if len(result_dict["hits"])>0:
return result_dict["hits"][0]["_source"]["attention_group_id_list"] return result_dict["hits"][0]["_source"]["attention_pictorial_id_list"]
else: else:
return [] return []
except: except:
...@@ -113,7 +113,7 @@ class GroupUtils(object): ...@@ -113,7 +113,7 @@ class GroupUtils(object):
return [] return []
@classmethod @classmethod
def get_group_ids_by_aggs(cls,group_id_list,es_cli_obj=None): def get_group_ids_by_aggs(cls,pictorial_ids_list,es_cli_obj=None):
""" """
:remark:聚合查询获取小组列表 :remark:聚合查询获取小组列表
:param group_id_list: :param group_id_list:
...@@ -127,7 +127,7 @@ class GroupUtils(object): ...@@ -127,7 +127,7 @@ class GroupUtils(object):
q["size"]=0 q["size"]=0
q["query"] = { q["query"] = {
"terms":{ "terms":{
"group_id":group_id_list "pictorial_id":pictorial_ids_list
} }
} }
q["aggs"] = { q["aggs"] = {
......
...@@ -51,27 +51,27 @@ def group_sort(user_id=-1,sort_type=GroupSortTypes.HOT_RECOMMEND,offset=0,size=1 ...@@ -51,27 +51,27 @@ def group_sort(user_id=-1,sort_type=GroupSortTypes.HOT_RECOMMEND,offset=0,size=1
es_cli_obj = ESPerform.get_cli() es_cli_obj = ESPerform.get_cli()
if sort_type==GroupSortTypes.HOT_RECOMMEND: if sort_type==GroupSortTypes.HOT_RECOMMEND:
group_ids_list = GroupUtils.get_hot_group_recommend_result_list(offset,size,es_cli_obj) pictorial_ids_list = GroupUtils.get_hot_pictorial_recommend_result_list(offset,size,es_cli_obj)
return {"group_recommend_ids":group_ids_list} return {"pictorial_recommend_ids":pictorial_ids_list}
elif sort_type==GroupSortTypes.ATTENTION_RECOMMEND: elif sort_type==GroupSortTypes.ATTENTION_RECOMMEND:
attention_group_list = GroupUtils.get_user_attention_group_list(user_id,offset=0,size=1,es_cli_obj=es_cli_obj) attention_pictorial_list = GroupUtils.get_user_attention_pictorial_list(user_id,offset=0,size=1,es_cli_obj=es_cli_obj)
if len(attention_group_list)==0: if len(attention_pictorial_list)==0:
return {"group_recommend_ids": []} return {"pictorial_recommend_ids": []}
else: else:
attention_group_id_list = [item["group_id"] for item in attention_group_list] attention_pictorial_id_list = [item["pictorial_id"] for item in attention_pictorial_list]
sorted_group_ids_list = GroupUtils.get_group_ids_by_aggs(attention_group_id_list,es_cli_obj) sorted_pictorial_ids_list = GroupUtils.get_group_ids_by_aggs(attention_pictorial_id_list,es_cli_obj)
group_recommend_ids_list = sorted_group_ids_list pictorial_recommend_ids_list = sorted_pictorial_ids_list
#if len(group_recommend_ids_list) < size and len(group_recommend_ids_list)<len(attention_group_list): #if len(group_recommend_ids_list) < size and len(group_recommend_ids_list)<len(attention_group_list):
sorted_attention_group_list = sorted(attention_group_list,key=lambda item:item["update_time_val"],reverse=True) sorted_attention_pictorial_list = sorted(attention_pictorial_list,key=lambda item:item["update_time_val"],reverse=True)
for item in sorted_attention_group_list: for item in sorted_attention_pictorial_list:
if item["group_id"] not in group_recommend_ids_list: if item["group_id"] not in pictorial_recommend_ids_list:
group_recommend_ids_list.append(item["group_id"]) pictorial_recommend_ids_list.append(item["group_id"])
return {"group_recommend_ids": group_recommend_ids_list[offset:(offset+size)]} return {"pictorial_recommend_ids": pictorial_recommend_ids_list[offset:(offset+size)]}
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"group_recommend_ids":[]} return {"pictorial_recommend_ids":[]}
...@@ -87,6 +87,7 @@ class Topic(models.Model): ...@@ -87,6 +87,7 @@ class Topic(models.Model):
def get_pictorial_id(self): def get_pictorial_id(self):
try: try:
pictorial_id = PictorialTopic.objects.filter(topic_id=self.id) pictorial_id = PictorialTopic.objects.filter(topic_id=self.id)
logging.info("get user attention pictorial id :%s"%pictorial_id)
return pictorial_id return pictorial_id
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment