n rel="diff-837db1e10959bbdc7788c75f0de347697fe3338fL81">81 118
         group_id=group_id,
82 119
         user_id=user_id,
@@ -91,6 +128,148 @@ def group_join_api(request):
91 128
     })
92 129
 
93 130
 
131
+def group_lock_api(request):
132
+    group_id = request.POST.get('group_id', '')
133
+    user_id = request.POST.get('user_id', '')
134
+
135
+    try:
136
+        user = UserInfo.objects.get(user_id=user_id)
137
+    except UserInfo.DoesNotExist:
138
+        return JsonResponse({
139
+            'status': 4011,
140
+            'message': u'用户不存在',
141
+        })
142
+
143
+    try:
144
+        group = GroupInfo.objects.get(group_id=group_id)
145
+    except GroupInfo.DoesNotExist:
146
+        return JsonResponse({
147
+            'status': 4020,
148
+            'message': u'群组不存在',
149
+        })
150
+    if group.admin_id != user_id:
151
+        return JsonResponse({
152
+            'status': 4023,
153
+            'message': u'没有锁定权限',
154
+        })
155
+
156
+    group.group_lock = True
157
+    group.save()
158
+
159
+    return JsonResponse({
160
+        'status': 200,
161
+        'message': u'锁定成功',
162
+    })
163
+
164
+
165
+def group_pass_api(request):
166
+    group_id = request.POST.get('group_id', '')
167
+    admin_id = request.POST.get('admin_id', '')
168
+    user_id = request.POST.get('user_id', '')
169
+
170
+    try:
171
+        admin = UserInfo.objects.get(user_id=admin_id)
172
+    except UserInfo.DoesNotExist:
173
+        return JsonResponse({
174
+            'status': 4011,
175
+            'message': u'用户不存在',
176
+        })
177
+    try:
178
+        user = UserInfo.objects.get(user_id=user_id)
179
+    except UserInfo.DoesNotExist:
180
+        return JsonResponse({
181
+            'status': 4011,
182
+            'message': u'用户不存在',
183
+        })
184
+
185
+    try:
186
+        group = GroupInfo.objects.get(group_id=group_id)
187
+    except GroupInfo.DoesNotExist:
188
+        return JsonResponse({
189
+            'status': 4020,
190
+            'message': u'群组不存在',
191
+        })
192
+    if group.admin_id != admin_id:
193
+        return JsonResponse({
194
+            'status': 4024,
195
+            'message': u'没有通过权限',
196
+        })
197
+
198
+    try:
199
+        group_user = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, user_status=GroupUserInfo.APPLYING)
200
+    except GroupUserInfo.DoesNotExist:
201
+        return JsonResponse({
202
+            'status': 4027,
203
+            'message': u'加群申请不存在',
204
+        })
205
+    group_user.user_status = GroupUserInfo.PASSED
206
+    group_user.passed_at = tc.utc_datetime()
207
+    group_user.save()
208
+
209
+    return JsonResponse({
210
+        'status': 200,
211
+        'message': u'申请通过成功',
212
+        'data': {
213
+            'group_id': group_id,
214
+            'users': group.users(user_id)
215
+        },
216
+    })
217
+
218
+
219
+def group_refuse_api(request):
220
+    group_id = request.POST.get('group_id', '')
221
+    admin_id = request.POST.get('admin_id', '')
222
+    user_id = request.POST.get('user_id', '')
223
+
224
+    try:
225
+        admin = UserInfo.objects.get(user_id=admin_id)
226
+    except UserInfo.DoesNotExist:
227
+        return JsonResponse({
228
+            'status': 4011,
229
+            'message': u'用户不存在',
230
+        })
231
+    try:
232
+        user = UserInfo.objects.get(user_id=user_id)
233
+    except UserInfo.DoesNotExist:
234
+        return JsonResponse({
235
+            'status': 4011,
236
+            'message': u'用户不存在',
237
+        })
238
+
239
+    try:
240
+        group = GroupInfo.objects.get(group_id=group_id)
241
+    except GroupInfo.DoesNotExist:
242
+        return JsonResponse({
243
+            'status': 4020,
244
+            'message': u'群组不存在',
245
+        })
246
+    if group.admin_id != admin_id:
247
+        return JsonResponse({
248
+            'status': 4025,
249
+            'message': u'没有拒绝权限',
250
+        })
251
+
252
+    try:
253
+        group_user = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, user_status=GroupUserInfo.APPLYING)
254
+    except GroupUserInfo.DoesNotExist:
255
+        return JsonResponse({
256
+            'status': 4027,
257
+            'message': u'加群申请不存在',
258
+        })
259
+    group_user.user_status = GroupUserInfo.REFUSED
260
+    group_user.refused_at = tc.utc_datetime()
261
+    group_user.save()
262
+
263
+    return JsonResponse({
264
+        'status': 200,
265
+        'message': u'申请拒绝成功',
266
+        'data': {
267
+            'group_id': group_id,
268
+            'users': group.users(user_id)
269
+        },
270
+    })
271
+
272
+
94 273
 class GroupInfoViewSet(viewsets.ModelViewSet):
95 274
     queryset = GroupInfo.objects.all().order_by('-created_at')
96 275
     serializer_class = GroupInfoSerializer

Sign In - Gogs: Go Git Service

Sign In