拍爱

retrieve.py 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # -*- coding: utf-8 -*-
  2. import json
  3. from django.conf import settings
  4. from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo
  5. from utils.redis.rgroup import set_group_photo_data, set_group_users_info
  6. from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_USERS_APPLYING_SET, GROUP_USERS_DELETED_SET,
  7. GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET)
  8. r = settings.REDIS_CACHE
  9. def retrieve_group_data():
  10. """ 群组数据 """
  11. groups = GroupInfo.objects.filter(status=True)
  12. for group in groups:
  13. # 群组照片
  14. set_group_photo_data(group.group_id)
  15. # 群组用户
  16. set_group_users_info(group)
  17. def retrieve_last_pk():
  18. """ 群组最后一张照片PK """
  19. groups = GroupInfo.objects.filter(status=True)
  20. for group in groups:
  21. group_photo = GroupPhotoInfo.objects.filter(group_id=group.group_id, status=True).last()
  22. r.set(GROUP_LAST_PHOTO_PK % group.group_id, group_photo and group_photo.pk or -1)
  23. def retrieve_group_user_status():
  24. """ 群组用户状态 """
  25. group_users = GroupUserInfo.objects.filter(status=True)
  26. for group_user in group_users:
  27. group_id, user_id = group_user.group_id, group_user.user_id
  28. if group_user.user_status == GroupUserInfo.PASSED:
  29. r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id)
  30. elif group_user.user_status == GroupUserInfo.DELETED:
  31. r.sadd(GROUP_USERS_DELETED_SET % group_id, user_id)
  32. elif group_user.user_status == GroupUserInfo.APPLYING:
  33. r.sadd(GROUP_USERS_APPLYING_SET % group_id, user_id)
  34. elif group_user.user_status == GroupUserInfo.REFUSED:
  35. r.sadd(GROUP_USERS_REFUSED_SET % group_id, user_id)
  36. def retrieve_redis_data():
  37. retrieve_group_data()
  38. retrieve_last_pk()
  39. retrieve_group_user_status()