@@ -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 |
+ } |