暂无描述

rgroup.py 1.9KB

    # -*- coding: utf-8 -*- from django.conf import settings from django.core.serializers.json import DjangoJSONEncoder from utils.redis.rkeys import GROUP_INFO, GROUP_USERS_INFO, GROUP_LAST_PHOTO_PK import json r = settings.REDIS_CACHE # 群组信息相关 def set_group_info(group): """ 设置群组信息 """ group_data = group.data r.set(GROUP_INFO % group.group_id, json.dumps(group_data, cls=DjangoJSONEncoder)) return group_data def set_group_info_by_id(group_id): """ 设置群组信息 """ from group.models import GroupInfo try: group = GroupInfo.objects.get(group_id=group_id) except GroupInfo.DoesNotExist: return {} return set_group_info(group) def get_group_info(group_id): """ 获取群组信息 """ return json.loads(r.get(GROUP_INFO % group_id) or '{}') or set_group_info_by_id(group_id) # 群组用户信息相关 def set_group_users_info(group): """ 设置群组用户信息 """ group_users = group.users(admin=False) r.set(GROUP_USERS_INFO % group.group_id, json.dumps({ 'group_users': group_users, 'admin_id': group.admin_id, }, cls=DjangoJSONEncoder)) return group_users def set_group_users_info_by_id(group_id): """ 设置群组用户信息 """ from group.models import GroupInfo try: group = GroupInfo.objects.get(group_id=group_id) except GroupInfo.DoesNotExist: return {} return set_group_users_info(group) def get_group_users_info(group_id, user_id): """ 获取群组用户信息 """ group_users_data = json.loads(r.get(GROUP_USERS_INFO % group_id) or '{}') or set_group_users_info_by_id(group_id) group_users, admin_id = group_users_data.get('group_users', {}), group_users_data.get('admin_id', '') if group_users and user_id != admin_id: [group_users.pop(k) for k in ['applying_count', 'applying']] return group_users