拍爱

rmessage.py 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding: utf-8 -*-
  2. import json
  3. from django.conf import settings
  4. from message.models import SystemMessageDeleteInfo, SystemMessageReadInfo
  5. from utils.redis.rkeys import (SYSTEM_MESSAGE_DELETED_INFO,
  6. SYSTEM_MESSAGE_READ_INFO)
  7. r = settings.REDIS_CACHE
  8. # 系统消息相关
  9. def set_system_message_read_info(user_id):
  10. """ 设置系统消息读取信息 """
  11. read_messages = SystemMessageReadInfo.objects.filter(user_id=user_id, status=True)
  12. read_message_ids = [msg.msg_id for msg in read_messages]
  13. r.setex(SYSTEM_MESSAGE_READ_INFO % user_id, settings.REDIS_EXPIRED_MONTH, json.dumps(read_message_ids))
  14. return read_message_ids
  15. def get_system_message_read_info(user_id):
  16. """ 获取系统消息读取信息 """
  17. return json.loads(r.get(SYSTEM_MESSAGE_READ_INFO % user_id) or '[]') or set_system_message_read_info(user_id)
  18. def set_system_message_delete_info(user_id):
  19. """ 设置系统消息删除信息 """
  20. deleted_messages = SystemMessageDeleteInfo.objects.filter(user_id=user_id, status=True)
  21. deleted_message_ids = [msg.msg_id for msg in deleted_messages]
  22. r.setex(SYSTEM_MESSAGE_DELETED_INFO % user_id, settings.REDIS_EXPIRED_MONTH, json.dumps(deleted_message_ids))
  23. return deleted_message_ids
  24. def get_system_message_delete_info(user_id):
  25. """ 获取系统消息删除信息 """
  26. return json.loads(r.get(SYSTEM_MESSAGE_DELETED_INFO % user_id) or '[]') or set_system_message_delete_info(user_id)