o/issues"> Issues 0 Pull Requests 0 Commits 256 Releases 0

No Description

rgroup.py 4.9KB

    # -*- coding: utf-8 -*- import json from django.conf import settings from django.core.serializers.json import DjangoJSONEncoder from utils.redis.rkeys import (GROUP_INFO, GROUP_PHOTO_COMMENT_LIST, GROUP_PHOTO_DATA, GROUP_PHOTO_THUMB_UP, GROUP_PHOTO_THUMB_UP_LIST, GROUP_PHOTO_WATCHER_SET, GROUP_USERS_INFO) r = settings.REDIS_CACHE # 群组信息相关 def set_group_info(group): """ 设置群组信息 """ group_data = group.data r.setex(GROUP_INFO % group.group_id, settings.REDIS_EXPIRED_MONTH, 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) group_users_data = { 'group_users': group_users, 'admin_id': group.admin_id, } r.setex(GROUP_USERS_INFO % group.group_id, settings.REDIS_EXPIRED_MONTH, json.dumps(group_users_data, cls=DjangoJSONEncoder)) return group_users_data 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 # 群组照片相关 def set_group_photo_data(group_id): """ 设置群组照片数据信息 """ from group.models import GroupPhotoInfo group_photos = GroupPhotoInfo.objects.filter(group_id=group_id, status=True) group_photos = [photo.photo_data for photo in group_photos] r.set(GROUP_PHOTO_DATA % group_id, json.dumps(group_photos)) return group_photos def get_group_photo_data(group_id): """ 获取群组照片数据信息 """ return json.loads(r.get(GROUP_PHOTO_DATA % group_id) or '[]') or set_group_photo_data(group_id) def set_group_photo_thumbup_flag(photo_id, user_id): """ 设置群组照片用户点赞标识信息 """ r.setex(GROUP_PHOTO_THUMB_UP % (photo_id, user_id), settings.REDIS_EXPIRED_MONTH, True) def del_group_photo_thumbup_flag(photo_id, user_id): """ 删除群组照片用户点赞标识信息 """ r.delete(GROUP_PHOTO_THUMB_UP % (photo_id, user_id)) def get_group_photo_thumbup_flag(photo_id, user_id): """ 获取群组照片用户点赞标识信息 """ if r.exists(GROUP_PHOTO_THUMB_UP % (photo_id, user_id)): return True else: from group.models import PhotoThumbUpInfo if PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True).exists(): set_group_photo_thumbup_flag(photo_id, user_id) return True else: return False def set_group_photo_comment_list(photo_id): """ 设置群组照片用户评论列表 """ from group.models import PhotoCommentInfo photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id) photo_comments = [comment.comment_info for comment in photo_comments] r.set(GROUP_PHOTO_COMMENT_LIST % photo_id, json.dumps(photo_comments, cls=DjangoJSONEncoder)) return photo_comments def get_group_photo_comment_list(photo_id): """ 获取群组照片用户评论列表 """ return json.loads(r.get(GROUP_PHOTO_COMMENT_LIST % photo_id) or '[]') or set_group_photo_comment_list(photo_id) def set_group_photo_thumbup_list(photo_id): """ 设置群组照片用户点赞列表 """ from group.models import PhotoThumbUpInfo photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True) photo_thumbups = [thumbup.thumbup_info for thumbup in photo_thumbups] r.set(GROUP_PHOTO_THUMB_UP_LIST % photo_id, json.dumps(photo_thumbups, cls=DjangoJSONEncoder)) return photo_thumbups def get_group_photo_thumbup_list(photo_id): """ 获取群组照片用户点赞列表 """ return json.loads(r.get(GROUP_PHOTO_THUMB_UP_LIST % photo_id) or '[]') or set_group_photo_thumbup_list(photo_id) def get_group_photo_watchers(photo_id): """ 获取群组照片用户关注列表 """ return r.smembers(GROUP_PHOTO_WATCHER_SET % photo_id)
kodo - Gogs: Go Git Service

説明なし

Brightcells: 8aeca53563 record unionid for wx_authorize user 10 年 前
..
0001_initial.py 4defb80fdc gogs first init 11 年 前
0002_auto_20151202_2251.py 434468279f add api of lesman login & update other api 11 年 前
0003_auto_20151202_2313.py 434468279f add api of lesman login & update other api 11 年 前
0004_auto_20151207_1811.py 4a8b4f8819 add watermark 11 年 前
0005_auto_20151209_1638.py 3454610bb7 add api of user signup/login 11 年 前
0006_auto_20151223_1533.py 5ef425fee7 add api wx_authorize_api 11 年 前
0007_auto_20160120_1830.py a121b75ff2 add db_index=True for status field 10 年 前
0008_userinfo_unionid.py 8aeca53563 record unionid for wx_authorize user 10 年 前
__init__.py 4defb80fdc gogs first init 11 年 前