Commit c5dd7daf authored by 段英荣's avatar 段英荣

modify

parent 91b21e69
...@@ -15,7 +15,7 @@ from .group_user_role import GroupUserRole ...@@ -15,7 +15,7 @@ from .group_user_role import GroupUserRole
from .tag import AccountUserTag from .tag import AccountUserTag
from .topic import Topic from .topic import Topic
from .user_extra import UserExtra from .user_extra import UserExtra
from .pictorial import PictorialFollow
class User(models.Model): class User(models.Model):
class Meta: class Meta:
...@@ -91,6 +91,26 @@ class User(models.Model): ...@@ -91,6 +91,26 @@ class User(models.Model):
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return [] return []
def get_attention_pictorial_id_list(self):
try:
attention_pictorial_id_list = list()
query_results = PictorialFollow.objects.using(settings.SLAVE_DB_NAME).filter(is_online=True, user_id=self.user_id)
logging.info("get PictorialFollow:%s"%query_results)
for item in query_results:
item_dict = {
"pictorial_id": item.pictorial_id,
"update_time_val": time.mktime(tzlc(item.update_time).timetuple())
}
attention_pictorial_id_list.append(item_dict)
logging.info("get user_id:%s" %self.user_id)
logging.info("get same_pictorial_user_id_list:%s" % attention_pictorial_id_list)
return attention_pictorial_id_list
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return []
def get_pick_user_id_list(self): def get_pick_user_id_list(self):
pick_topic_id_list = list() pick_topic_id_list = list()
user_picks = self.user_pick.using(settings.SLAVE_DB_NAME).filter(is_deleted=False, is_pick=True) user_picks = self.user_pick.using(settings.SLAVE_DB_NAME).filter(is_deleted=False, is_pick=True)
...@@ -117,32 +137,35 @@ class User(models.Model): ...@@ -117,32 +137,35 @@ class User(models.Model):
return pick_user_detail_list return pick_user_detail_list
def get_same_group_user_id_list(self): def get_same_pictorial_user_id_list(self):
#todo 有的同组数据过大,导致celery cpu过高,暂时限制同组的数据大小,后续可能会去掉同组的数据 #todo 有的同组数据过大,导致celery cpu过高,暂时限制同组的数据大小,后续可能会去掉同组的数据
same_group_user_id_list = list() same_pictorial_user_id_list = list()
group_items_list = list(GroupUserRole.objects.using(settings.SLAVE_DB_NAME).filter(user_id=self.user_id).values_list("group_id",flat=True)) pictorial_items_list = list(PictorialFollow.objects.using(settings.SLAVE_DB_NAME).filter(user_id=self.user_id).values_list("pictorial_id",flat=True))
for group_id in group_items_list: for pictorial_id in pictorial_items_list:
user_items_list = list(GroupUserRole.objects.using(settings.SLAVE_DB_NAME).filter(group_id=group_id).values_list("user_id",flat=True)) user_items_list = list(PictorialFollow.objects.using(settings.SLAVE_DB_NAME).filter(pictorial_id=pictorial_id).values_list("user_id",flat=True))
for user_id in user_items_list: for user_id in user_items_list:
same_group_user_id_list.append(user_id) same_pictorial_user_id_list.append(user_id)
if len(same_group_user_id_list)>=100: if len(same_pictorial_user_id_list)>=100:
break break
if len(same_group_user_id_list)>=100: if len(same_pictorial_user_id_list)>=100:
break break
logging.info("get same user_id:%s"%self.user_id)
logging.info("get same_pictorial_user_id_list:%s"%same_pictorial_user_id_list)
same_group_detail_list = list() same_pictorial_detail_list = list()
for i in range(0, len(same_group_user_id_list), 200): for i in range(0, len(same_pictorial_user_id_list), 200):
sql_data_list = User.objects.using(settings.SLAVE_DB_NAME).filter(user_id__in=same_group_user_id_list[i:i + 1000]) sql_data_list = User.objects.using(settings.SLAVE_DB_NAME).filter(user_id__in=same_pictorial_user_id_list[i:i + 1000])
for detail_data in sql_data_list: for detail_data in sql_data_list:
item = { item = {
"user_id": detail_data.user_id, "user_id": detail_data.user_id,
"country_id": detail_data.country_id "country_id": detail_data.country_id
} }
same_group_detail_list.append(item) same_pictorial_detail_list.append(item)
return same_group_detail_list return same_pictorial_detail_list
def get_user_tag_id_list(self): def get_user_tag_id_list(self):
try: try:
......
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