@@ -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):  |