拍爱

rmessage.py 1.4KB

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, SYSTEM_MESSAGE_READ_INFO
  6. r = settings.REDIS_CACHE
  7. # 系统消息相关
  8. def set_system_message_read_info(user_id):
  9. """ 设置系统消息读取信息 """
  10. read_messages = SystemMessageReadInfo.objects.filter(user_id=user_id, status=True)
  11. read_message_ids = [msg.msg_id for msg in read_messages]
  12. r.setex(SYSTEM_MESSAGE_READ_INFO % user_id, settings.REDIS_EXPIRED_MONTH, json.dumps(read_message_ids))
  13. return read_message_ids
  14. def get_system_message_read_info(user_id):
  15. """ 获取系统消息读取信息 """
  16. return json.loads(r.get(SYSTEM_MESSAGE_READ_INFO % user_id) or '[]') or set_system_message_read_info(user_id)
  17. def set_system_message_delete_info(user_id):
  18. """ 设置系统消息删除信息 """
  19. deleted_messages = SystemMessageDeleteInfo.objects.filter(user_id=user_id, status=True)
  20. deleted_message_ids = [msg.msg_id for msg in deleted_messages]
  21. r.setex(SYSTEM_MESSAGE_DELETED_INFO % user_id, settings.REDIS_EXPIRED_MONTH, json.dumps(deleted_message_ids))
  22. return deleted_message_ids
  23. def get_system_message_delete_info(user_id):
  24. """ 获取系统消息删除信息 """
  25. return json.loads(r.get(SYSTEM_MESSAGE_DELETED_INFO % user_id) or '[]') or set_system_message_delete_info(user_id)