Limit return quota num for flyimg

Brightcells 8 anos atrás
pai
commit
f183c19ae8
4 arquivos alterados com 16 adições e 8 exclusões
  1. 1 1
      group/groupuser_views.py
  2. 1 1
      group/tourguidegroupuser_views.py
  3. 3 1
      group/views.py
  4. 11 5
      utils/group_photo_utils.py

+ 1 - 1
group/groupuser_views.py

@@ -62,7 +62,7 @@ def group_user_join_api(request):
62 62
     r.srem(GROUP_USERS_QUIT_SET % group_id, user_id)
63 63
     r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id)
64 64
 
65
-    curinfo = get_current_photos(group_id, user_id, group_user.current_id)
65
+    curinfo = get_current_photos(group_id, user_id, group_user.current_id, request=request)
66 66
 
67 67
     return response(200, 'Group User Join Success', u'群成员加群成功', {
68 68
         'current_id': curinfo.get('current_id', ''),

+ 1 - 1
group/tourguidegroupuser_views.py

@@ -95,7 +95,7 @@ def tgu_group_user_join_api(request):
95 95
     r.srem(GROUP_USERS_QUIT_SET % group_id, user_id)
96 96
     r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id)
97 97
 
98
-    curinfo = get_current_photos(group_id, user_id, group_user.current_id)
98
+    curinfo = get_current_photos(group_id, user_id, group_user.current_id, request=request)
99 99
 
100 100
     # 添加默认地理位置信息
101 101
     r.geoadd(TOUR_GUIDE_GROUP_GEO_INFO % group_id, 0, 0, user_id)

+ 3 - 1
group/views.py

@@ -274,7 +274,9 @@ def flyimg_upload_api(request):
274 274
         # 设置群组最后一张照片PK
275 275
         r.set(GROUP_LAST_PHOTO_PK % group_id, group_photo.pk)
276 276
 
277
-    return response(200, 'Flyimg Upload Success', u'飞图上传成功', get_current_photos(group_id, user_id, max(current_id, group_user.current_id)))
277
+    curinfo = get_current_photos(group_id, user_id, group_user.current_id, request=request)
278
+
279
+    return response(200, 'Flyimg Upload Success', u'飞图上传成功', curinfo)
278 280
 
279 281
 
280 282
 @logit

+ 11 - 5
utils/group_photo_utils.py

@@ -5,19 +5,25 @@ import itertools
5 5
 from group.models import GroupPhotoInfo
6 6
 
7 7
 
8
-def get_current_photos(group_id, user_id, current_id):
8
+def get_current_photos(group_id, user_id, current_id, request=None):
9 9
     # 获取从 current_id 到 now 的群组照片列表
10 10
     group_photos = GroupPhotoInfo.objects.filter(
11 11
         group_id=group_id,
12 12
         status=True,
13 13
         pk__gt=current_id,
14
-    ).order_by(
15
-        '-session_id',
16
-        '-pk'
17 14
     )
18 15
     # 最新照片
19
-    latest_photo = group_photos.first()
16
+    group_tmp_photos = group_photos.order_by(
17
+        '-pk',
18
+    )
19
+    latest_photo = group_tmp_photos.first()
20 20
     # 照片按照 session_id 分组
21
+    group_photos = group_photos.order_by(
22
+        '-session_id',
23
+        '-pk',
24
+    )
25
+    if request and request.weixin:
26
+        group_photos = group_photos[:30]
21 27
     group_photos = map(lambda x: {'session_id': x[0], 'photos': [y.photo_info(user_id) for y in x[1]]},
22 28
                        itertools.groupby(group_photos, lambda x: x.session_id))
23 29
     return {