拍爱

views.py 2.3KB

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. from utils.error.errno_utils import MessageStatusCode
  7. from utils.error.response_utils import response
  8. def message_list_api(request):
  9. user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
  10. messages = UserMessageInfo.MESSAGE_TYPE_INFO
  11. final_messages = []
  12. for message in messages:
  13. type_messages = UserMessageInfo.objects.filter(
  14. to_uid=user_id,
  15. msg_type=message['msg_type'],
  16. ).order_by(
  17. '-pk'
  18. )[:settings.MESSAGE_NUM_PER_PAGE]
  19. type_messages = [msg.msg_info for msg in type_messages]
  20. message['msg_list'] = type_messages
  21. final_messages.append(message)
  22. return JsonResponse({
  23. 'status': 200,
  24. 'message': u'获取消息列表成功',
  25. 'data': {
  26. 'messages': final_messages,
  27. },
  28. })
  29. def message_type_list_api(request, msg_type):
  30. user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
  31. page = int(request.POST.get('page', 0) or request.GET.get('page', 0) or 1)
  32. num = int(request.POST.get('num', 0) or request.GET.get('num', 0) or settings.MESSAGE_NUM_PER_PAGE)
  33. type_messages = UserMessageInfo.objects.filter(
  34. to_uid=user_id,
  35. msg_type=msg_type,
  36. ).order_by(
  37. '-pk'
  38. )
  39. type_messages, left = pagination(type_messages, page, num)
  40. type_messages = [msg.msg_info for msg in type_messages]
  41. return JsonResponse({
  42. 'status': 200,
  43. 'message': u'获取消息列表成功',
  44. 'data': {
  45. 'messages': type_messages,
  46. 'left': left,
  47. },
  48. })
  49. def message_read_api(request):
  50. pk = int(request.POST.get('pk', 0) or request.GET.get('pk', 0) or -1)
  51. user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
  52. try:
  53. message = UserMessageInfo.objects.get(pk=pk, to_uid=user_id)
  54. except UserMessageInfo.DoesNotExist:
  55. return response(MessageStatusCode.MESSAGE_NOT_FOUND)
  56. message.read = True
  57. message.save()
  58. return JsonResponse({
  59. 'status': 200,
  60. 'message': u'已读消息成功',
  61. })