拍爱

rmessage.py 1.4KB

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