拍爱

retrieve.py 1.4KB

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