|
# -*- coding: utf-8 -*-
import json
from django.conf import settings
from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo
from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_PHOTO_DATA, GROUP_USERS_APPLYING_SET, GROUP_USERS_DELETED_SET,
GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET)
r = settings.REDIS_CACHE
def retrieve_group_data():
""" 群组数据 """
groups = GroupInfo.objects.filter(status=True)
for group in groups:
group_photos = GroupPhotoInfo.objects.filter(group_id=group.group_id, status=True)
group_photos = [photo.photo_data for photo in group_photos]
r.set(GROUP_PHOTO_DATA % group.group_id, json.dumps(group_photos))
def retrieve_last_pk():
""" 群组最后一张照片PK """
groups = GroupInfo.objects.filter(status=True)
for group in groups:
group_photo = GroupPhotoInfo.objects.filter(group_id=group.group_id, status=True).last()
r.set(GROUP_LAST_PHOTO_PK % group.group_id, group_photo and group_photo.pk or -1)
def retrieve_group_user_status():
""" 群组用户状态 """
group_users = GroupUserInfo.objects.filter(status=True)
for group_user in group_users:
group_id, user_id = group_user.group_id, group_user.user_id
if group_user.user_status == GroupUserInfo.PASSED:
r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id)
elif group_user.user_status == GroupUserInfo.DELETED:
r.sadd(GROUP_USERS_DELETED_SET % group_id, user_id)
elif group_user.user_status == GroupUserInfo.APPLYING:
r.sadd(GROUP_USERS_APPLYING_SET % group_id, user_id)
elif group_user.user_status == GroupUserInfo.REFUSED:
r.sadd(GROUP_USERS_REFUSED_SET % group_id, user_id)
def retrieve_redis_data():
retrieve_group_data()
retrieve_last_pk()
retrieve_group_user_status()
|