add api group_unlock_api

Brightcells 9 年 前
コミット
814ed79bfc
共有3 個のファイルを変更した36 個の追加1 個の削除を含む
  1. 1 0
      api/urls.py
  2. 1 1
      docs/errorcode
  3. 34 0
      group/views.py

+ 1 - 0
api/urls.py

@@ -23,6 +23,7 @@ urlpatterns += [
23 23
     url(r'^g/list$', group_views.group_list_api, name='group_list_api'),  # 群组列表
24 24
     url(r'^g/join$', group_views.group_join_api, name='group_join_api'),  # 申请加群
25 25
     url(r'^g/lock$', group_views.group_lock_api, name='group_lock_api'),  # 群组锁定
26
+    url(r'^g/unlock$', group_views.group_unlock_api, name='group_unlock_api'),  # 群组解锁
26 27
     url(r'^g/remove$', group_views.group_remove_api, name='group_remove_api'),  # 成员移除
27 28
     url(r'^g/pass$', group_views.group_pass_api, name='group_pass_api'),  # 申请通过
28 29
     url(r'^g/refuse$', group_views.group_refuse_api, name='group_refuse_api'),  # 申请拒绝

+ 1 - 1
docs/errorcode

@@ -18,7 +18,7 @@
18 18
     4021 —— 群组已锁定
19 19
     4022 —— 非群组管理员
20 20
         40220 —— 没有更新权限
21
-        40221 —— 没有锁定权限
21
+        40221 —— 没有锁定/解锁权限
22 22
         40222 —— 没有移除权限
23 23
         40223 —— 没有通过权限
24 24
         40224 —— 没有拒绝权限

+ 34 - 0
group/views.py

@@ -242,6 +242,40 @@ def group_lock_api(request):
242 242
     })
243 243
 
244 244
 
245
+def group_unlock_api(request):
246
+    group_id = request.POST.get('group_id', '')
247
+    user_id = request.POST.get('user_id', '')
248
+
249
+    try:
250
+        user = UserInfo.objects.get(user_id=user_id)
251
+    except UserInfo.DoesNotExist:
252
+        return JsonResponse({
253
+            'status': 4011,
254
+            'message': u'用户不存在',
255
+        })
256
+
257
+    try:
258
+        group = GroupInfo.objects.get(group_id=group_id)
259
+    except GroupInfo.DoesNotExist:
260
+        return JsonResponse({
261
+            'status': 4020,
262
+            'message': u'群组不存在',
263
+        })
264
+    if group.admin_id != user_id:
265
+        return JsonResponse({
266
+            'status': 40221,
267
+            'message': u'没有解锁权限',
268
+        })
269
+
270
+    group.group_lock = False
271
+    group.save()
272
+
273
+    return JsonResponse({
274
+        'status': 200,
275
+        'message': u'解锁成功',
276
+    })
277
+
278
+
245 279
 def group_remove_api(request):
246 280
     group_id = request.POST.get('group_id', '')
247 281
     admin_id = request.POST.get('admin_id', '')