@@ -60,6 +60,7 @@ urlpatterns += [ |
||
60 | 60 |
url(r'^g/create$', group_views.group_create_api, name='group_create_api'), # 群组创建 |
61 | 61 |
url(r'^g/detail$', group_views.group_detail_api, name='group_detail_api'), # 群组详情 |
62 | 62 |
url(r'^g/update$', group_views.group_update_api, name='group_update_api'), # 群组更新 |
63 |
+ url(r'^g/delete$', group_views.group_delete_api, name='group_delete_api'), # 群组删除 |
|
63 | 64 |
url(r'^g/list$', group_views.group_list_api, name='group_list_api'), # 群组列表 |
64 | 65 |
url(r'^g/lock$', group_views.group_lock_api, name='group_lock_api'), # 群组锁定 |
65 | 66 |
url(r'^g/unlock$', group_views.group_unlock_api, name='group_unlock_api'), # 群组解锁 |
@@ -146,6 +146,36 @@ def group_update_api(request): |
||
146 | 146 |
|
147 | 147 |
|
148 | 148 |
@logit |
149 |
+def group_delete_api(request): |
|
150 |
+ """ 群组更新 """ |
|
151 |
+ group_id = request.POST.get('group_id', '') |
|
152 |
+ admin_id = request.POST.get('admin_id', '') or request.POST.get('user_id', '') |
|
153 |
+ |
|
154 |
+ # 群组校验 |
|
155 |
+ try: |
|
156 |
+ group = GroupInfo.objects.get(group_id=group_id) |
|
157 |
+ except GroupInfo.DoesNotExist: |
|
158 |
+ return response(GroupStatusCode.GROUP_NOT_FOUND) |
|
159 |
+ |
|
160 |
+ # 权限校验 |
|
161 |
+ if group.admin_id != admin_id: |
|
162 |
+ return response(GroupStatusCode.NOT_GROUP_ADMIN) |
|
163 |
+ |
|
164 |
+ # 照片数量校验 |
|
165 |
+ if GroupPhotoInfo.objects.filter(user_id=admin_id, status=True).count(): |
|
166 |
+ return response(GroupStatusCode.GROUP_PHOTO_NOT_EMPTY) |
|
167 |
+ |
|
168 |
+ # 删除群组 |
|
169 |
+ group.status = False |
|
170 |
+ group.save() |
|
171 |
+ |
|
172 |
+ # 删除群组用户 |
|
173 |
+ GroupUserInfo.objects.filter(group_id=group_id).update(status=False) |
|
174 |
+ |
|
175 |
+ return response(200, 'Delete Group Success', u'群组删除成功') |
|
176 |
+ |
|
177 |
+ |
|
178 |
+@logit |
|
149 | 179 |
def group_list_api(request): |
150 | 180 |
""" 群组列表 """ |
151 | 181 |
user_id = request.POST.get('user_id', '') |
@@ -79,6 +79,8 @@ class GroupStatusCode(BaseStatusCode): |
||
79 | 79 |
ONLY_ONE_ACTIVE_GROUP_ALLOWED = StatusCodeField(402040, 'Only One Active Group Allowed', description=u'只能创建一个活跃团') |
80 | 80 |
ACTIVE_GROUP_NOT_FOUND = StatusCodeField(402041, 'Active Group Not Found', description=u'活跃团不存在') |
81 | 81 |
GROUP_HAS_ENDED = StatusCodeField(402042, 'Group Has Ended', description=u'群组已结束') |
82 |
+ # 其他 |
|
83 |
+ GROUP_PHOTO_NOT_EMPTY = StatusCodeField(402099, 'Group Photo Not Empty', description=u'群组照片不为空') |
|
82 | 84 |
|
83 | 85 |
|
84 | 86 |
class GroupUserStatusCode(BaseStatusCode): |