@@ -227,6 +227,7 @@ class GroupPhotoInfo(CreateUpdateMixin):  | 
            ||
| 227 | 227 | 
                'thumbup': get_group_photo_thumbup_flag(self.pk, user_id),  | 
            
| 228 | 228 | 
                'thumbup_num': self.thumbup_num,  | 
            
| 229 | 229 | 
                'photo_from': self.photo_from,  | 
            
| 230 | 
                + 'session_id': self.session_id,  | 
            |
| 230 | 231 | 
                'porder': porder,  | 
            
| 231 | 232 | 
                'created_at': self.created_at.replace(microsecond=0),  | 
            
| 232 | 233 | 
                'origin_expired_stamps': origin_expired_stamps(self.lensman_photo_id, self.user_id)  | 
            
                @@ -6,7 +6,6 @@ import itertools  | 
            ||
| 6 | 6 | 
                import os  | 
            
| 7 | 7 | 
                import random  | 
            
| 8 | 8 | 
                 | 
            
| 9 | 
                -import records  | 
            |
| 10 | 9 | 
                import shortuuid  | 
            
| 11 | 10 | 
                from curtail_uuid import CurtailUUID  | 
            
| 12 | 11 | 
                from django.conf import settings  | 
            
                @@ -23,6 +22,7 @@ from group.serializers import GroupInfoSerializer, GroupPhotoInfoSerializer, Gro  | 
            ||
| 23 | 22 | 
                from message.models import UserMessageInfo  | 
            
| 24 | 23 | 
                from utils.error.errno_utils import GroupPhotoStatusCode, GroupStatusCode, GroupUserStatusCode, UserStatusCode  | 
            
| 25 | 24 | 
                from utils.error.response_utils import response  | 
            
| 25 | 
                +from utils.group_photo_utils import get_current_photos  | 
            |
| 26 | 26 | 
                from utils.page_utils import pagination  | 
            
| 27 | 27 | 
                from utils.redis.rgroup import (del_group_photo_thumbup_flag, get_group_info, get_group_photo_comment_list,  | 
            
| 28 | 28 | 
                get_group_photo_data, get_group_photo_thumbup_flag, get_group_photo_thumbup_list,  | 
            
                @@ -243,9 +243,11 @@ def group_join_api(request):  | 
            ||
| 243 | 243 | 
                r.srem(GROUP_USERS_QUIT_SET % group_id, user_id)  | 
            
| 244 | 244 | 
                r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id)  | 
            
| 245 | 245 | 
                 | 
            
| 246 | 
                + curinfo = get_current_photos(group_id, user_id, group_user.current_id)  | 
            |
| 247 | 
                +  | 
            |
| 246 | 248 | 
                     return response(200, 'Apply Success', u'申请成功', {
               | 
            
| 247 | 
                - 'current_id': group_user.current_id,  | 
            |
| 248 | 
                - 'photos': [],  | 
            |
| 249 | 
                +        'current_id': curinfo.get('current_id', ''),
               | 
            |
| 250 | 
                +        'photos': curinfo.get('photos', ''),
               | 
            |
| 249 | 251 | 
                'group_id': group_id,  | 
            
| 250 | 252 | 
                'group': get_group_info(group_id),  | 
            
| 251 | 253 | 
                'user_id': user_id,  | 
            
                @@ -580,25 +582,7 @@ def flyimg_upload_api(request):  | 
            ||
| 580 | 582 | 
                # 设置群组最后一张照片PK  | 
            
| 581 | 583 | 
                r.set(GROUP_LAST_PHOTO_PK % group_id, group_photo.pk)  | 
            
| 582 | 584 | 
                 | 
            
| 583 | 
                - # 获取从 current_id 到 now 的群组照片列表  | 
            |
| 584 | 
                - group_photos = GroupPhotoInfo.objects.filter(  | 
            |
| 585 | 
                - group_id=group_id,  | 
            |
| 586 | 
                - status=True,  | 
            |
| 587 | 
                - pk__gt=max(current_id, group_user.current_id),  | 
            |
| 588 | 
                - ).order_by(  | 
            |
| 589 | 
                - '-session_id',  | 
            |
| 590 | 
                - '-pk'  | 
            |
| 591 | 
                - )  | 
            |
| 592 | 
                - # 最新照片  | 
            |
| 593 | 
                - latest_photo = group_photos.first()  | 
            |
| 594 | 
                - # 照片按照 session_id 分组  | 
            |
| 595 | 
                -    group_photos = map(lambda x: {'session_id': x[0], 'photos': [y.photo_info(user_id) for y in x[1]]},
               | 
            |
| 596 | 
                - itertools.groupby(group_photos, lambda x: x.session_id))  | 
            |
| 597 | 
                -  | 
            |
| 598 | 
                -    return response(200, 'Flyimg Upload Success', u'飞图上传成功', {
               | 
            |
| 599 | 
                - 'current_id': latest_photo and latest_photo.pk or current_id,  | 
            |
| 600 | 
                - 'photos': group_photos,  | 
            |
| 601 | 
                - })  | 
            |
| 585 | 
                + return response(200, 'Flyimg Upload Success', u'飞图上传成功', get_current_photos(group_id, user_id, max(current_id, group_user.current_id)))  | 
            |
| 602 | 586 | 
                 | 
            
| 603 | 587 | 
                 | 
            
| 604 | 588 | 
                @logit  | 
            
                @@ -1,24 +1,24 @@  | 
            ||
| 1 | 1 | 
                CodeConvert==2.0.4  | 
            
| 2 | 2 | 
                Django==1.8.4  | 
            
| 3 | 3 | 
                MySQL-python==1.2.5  | 
            
| 4 | 
                -Pillow==3.2.0  | 
            |
| 4 | 
                +Pillow==3.4.2  | 
            |
| 5 | 5 | 
                TimeConvert==1.3.9  | 
            
| 6 | 6 | 
                cryptography==1.5.2  | 
            
| 7 | 7 | 
                django-curtail-uuid==1.0.0  | 
            
| 8 | 
                -django-detect==1.0.4  | 
            |
| 8 | 
                +django-detect==1.0.5  | 
            |
| 9 | 9 | 
                django-json-response==1.1.3  | 
            
| 10 | 10 | 
                django-logit==1.0.6  | 
            
| 11 | 11 | 
                django-multidomain==1.1.4  | 
            
| 12 | 
                -django-rlog==1.0.6  | 
            |
| 12 | 
                +django-rlog==1.0.7  | 
            |
| 13 | 13 | 
                django-shortuuidfield==0.1.3  | 
            
| 14 | 
                -djangorestframework==3.3.1  | 
            |
| 15 | 
                -furl==0.4.95  | 
            |
| 14 | 
                +djangorestframework==3.5.3  | 
            |
| 15 | 
                +furl==0.5.6  | 
            |
| 16 | 16 | 
                hiredis==0.2.0  | 
            
| 17 | 
                -ipdb==0.8.1  | 
            |
| 17 | 
                +ipdb==0.10.1  | 
            |
| 18 | 18 | 
                ipython==5.1.0  | 
            
| 19 | 19 | 
                jsonfield==1.0.3  | 
            
| 20 | 20 | 
                isoweek==1.3.1  | 
            
| 21 | 
                -kkconst==1.1.2  | 
            |
| 21 | 
                +kkconst==1.1.3  | 
            |
| 22 | 22 | 
                mock==2.0.0  | 
            
| 23 | 23 | 
                pep8==1.7.0  | 
            
| 24 | 24 | 
                records==0.4.3  | 
            
                @@ -0,0 +1,26 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +import itertools  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from group.models import GroupPhotoInfo  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +def get_current_photos(group_id, user_id, current_id):  | 
            |
| 9 | 
                + # 获取从 current_id 到 now 的群组照片列表  | 
            |
| 10 | 
                + group_photos = GroupPhotoInfo.objects.filter(  | 
            |
| 11 | 
                + group_id=group_id,  | 
            |
| 12 | 
                + status=True,  | 
            |
| 13 | 
                + pk__gt=current_id,  | 
            |
| 14 | 
                + ).order_by(  | 
            |
| 15 | 
                + '-session_id',  | 
            |
| 16 | 
                + '-pk'  | 
            |
| 17 | 
                + )  | 
            |
| 18 | 
                + # 最新照片  | 
            |
| 19 | 
                + latest_photo = group_photos.first()  | 
            |
| 20 | 
                + # 照片按照 session_id 分组  | 
            |
| 21 | 
                +    group_photos = map(lambda x: {'session_id': x[0], 'photos': [y.photo_info(user_id) for y in x[1]]},
               | 
            |
| 22 | 
                + itertools.groupby(group_photos, lambda x: x.session_id))  | 
            |
| 23 | 
                +    return {
               | 
            |
| 24 | 
                + 'current_id': latest_photo and latest_photo.pk or current_id,  | 
            |
| 25 | 
                + 'photos': group_photos,  | 
            |
| 26 | 
                + }  |