# -*- coding: utf-8 -*-

from django.conf import settings

from group.models import GroupInfo, GroupUserInfo, GroupPhotoInfo

from utils.redis.rkeys import GROUP_USERS_APPLYING_SET, GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET, GROUP_USERS_DELETED_SET
from utils.redis.rkeys import GROUP_LAST_PHOTO_PK


r = settings.REDIS_CACHE


def retrieve_redis_data():
    # 群组/群组照片相关
    groups = GroupInfo.objects.filter(status=True)
    for group in groups:
        group_photo = GroupPhotoInfo.objects.filter(group_id=group.group_id).last()
        # 设置群组最后一张照片PK
        r.set(GROUP_LAST_PHOTO_PK % group.group_id, group_photo and group_photo.pk or -1)

    # 群组用户相关
    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)