add api message_delete_api/message_type_delete_api

Brightcells 9 years ago
parent
commit
c8d93d6339
2 changed files with 26 additions and 7 deletions
  1. 2 0
      api/urls.py
  2. 24 7
      message/views.py

+ 2 - 0
api/urls.py

@@ -50,6 +50,8 @@ urlpatterns += [
50 50
     url(r'^msg/list$', message_views.message_list_api, name='message_list_api'),  # 消息列表
51 51
     url(r'^msg/list/(?P<msg_type>\w+)$', message_views.message_type_list_api, name='message_type_list_api'),  # 分类消息列表
52 52
     url(r'^msg/read$', message_views.message_read_api, name='message_read_api'),  # 消息读取
53
+    url(r'^msg/delete$', message_views.message_delete_api, name='message_delete_api'),  # 消息删除
54
+    url(r'^msg/delete/(?P<msg_type>\w+)$', message_views.message_delete_api, name='message_type_delete_api'),  # 消息删除
53 55
 ]
54 56
 
55 57
 # 控制器相关

+ 24 - 7
message/views.py

@@ -26,6 +26,7 @@ def message_list_api(request):
26 26
         type_messages = UserMessageInfo.objects.filter(
27 27
             to_uid=user_id,
28 28
             msg_type=message['msg_type'],
29
+            status=True,
29 30
         ).order_by(
30 31
             '-pk'
31 32
         )[:settings.MESSAGE_NUM_PER_PAGE]
@@ -56,6 +57,7 @@ def message_type_list_api(request, msg_type):
56 57
     type_messages = UserMessageInfo.objects.filter(
57 58
         to_uid=user_id,
58 59
         msg_type=msg_type,
60
+        status=True,
59 61
     ).order_by(
60 62
         '-pk'
61 63
     )
@@ -81,15 +83,30 @@ def message_read_api(request):
81 83
     pk = int(request.POST.get('pk', 0) or request.GET.get('pk', 0) or -1)
82 84
     user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
83 85
 
84
-    try:
85
-        message = UserMessageInfo.objects.get(pk=pk, to_uid=user_id)
86
-    except UserMessageInfo.DoesNotExist:
87
-        return response(MessageStatusCode.MESSAGE_NOT_FOUND)
88
-
89
-    message.read = True
90
-    message.save()
86
+    UserMessageInfo.objects.filter(pk=pk, to_uid=user_id).update(read=True)
91 87
 
92 88
     return JsonResponse({
93 89
         'status': 200,
94 90
         'message': u'已读消息成功',
95 91
     })
92
+
93
+
94
+def message_delete_api(request, msg_type=None):
95
+    """
96
+    消息删除
97
+    :param request:
98
+    :param msg_type:
99
+    :return:
100
+    """
101
+    user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '')
102
+
103
+    if msg_type:
104
+        UserMessageInfo.objects.filter(to_uid=user_id, msg_type=msg_type).update(status=False)
105
+    else:
106
+        pk = int(request.POST.get('pk', 0) or request.GET.get('pk', 0) or -1)
107
+        UserMessageInfo.objects.filter(pk=pk, to_uid=user_id).update(status=False)
108
+
109
+    return JsonResponse({
110
+        'status': 200,
111
+        'message': u'消息删除成功',
112
+    })