拍爱

views.py 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # -*- coding: utf-8 -*-
  2. from django.conf import settings
  3. from django.http import JsonResponse
  4. from message.models import UserMessageInfo
  5. from utils.page_utils import pagination
  6. def message_list_api(request):
  7. user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
  8. messages = UserMessageInfo.MESSAGE_TYPE_INFO
  9. final_messages = []
  10. for message in messages:
  11. type_messages = UserMessageInfo.objects.filter(
  12. to_uid=user_id,
  13. msg_type=message['msg_type'],
  14. ).order_by(
  15. '-updated_at'
  16. )[:settings.MESSAGE_NUM_PER_PAGE]
  17. type_messages = [msg.msg_info for msg in type_messages]
  18. message['msg_list'] = type_messages
  19. final_messages.append(message)
  20. return JsonResponse({
  21. 'status': 200,
  22. 'message': u'获取消息列表成功',
  23. 'data': {
  24. 'messages': final_messages,
  25. },
  26. })
  27. def message_type_list_api(request, msg_type):
  28. user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
  29. page = int(request.POST.get('page', 0) or request.GET.get('page', 0) or 1)
  30. num = int(request.POST.get('num', 0) or request.GET.get('num', 0) or settings.MESSAGE_NUM_PER_PAGE)
  31. type_messages = UserMessageInfo.objects.filter(
  32. to_uid=user_id,
  33. msg_type=msg_type,
  34. ).order_by(
  35. '-updated_at'
  36. )
  37. type_messages, left = pagination(type_messages, page, num)
  38. type_messages = [msg.msg_info for msg in type_messages]
  39. return JsonResponse({
  40. 'status': 200,
  41. 'message': u'获取消息列表成功',
  42. 'data': {
  43. 'messages': type_messages,
  44. 'left': left,
  45. },
  46. })
  47. def message_read_api(request):
  48. pk = int(request.POST.get('pk', 0) or request.GET.get('pk', 0) or -1)
  49. user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
  50. try:
  51. message = UserMessageInfo.objects.get(pk=pk, to_uid=user_id)
  52. except UserMessageInfo.DoesNotExist:
  53. return JsonResponse({
  54. 'status': 4091,
  55. 'message': u'该消息不存在'
  56. })
  57. message.read = True
  58. message.save()
  59. return JsonResponse({
  60. 'status': 200,
  61. 'message': u'已读消息成功',
  62. })