152
     return redirect(get_latest_app(src).get('latest_adr_url', ''))

+ 17 - 0
pai2/basemodels.py

@@ -56,3 +56,20 @@ class VersionMixin(models.Model):
56 56
 
57 57
     class Meta:
58 58
         abstract = True
59
+
60
+
61
+class PaiaiSrcMixin(models.Model):
62
+    PAIAI_USER = 0
63
+    PAIAI_LENSMAN = 1
64
+    PAIAI_TOURGUIDE = 2
65
+
66
+    SRC = (
67
+        (PAIAI_USER, u'拍爱用户端'),
68
+        (PAIAI_LENSMAN, u'拍爱摄影师端'),
69
+        (PAIAI_TOURGUIDE, u'拍爱导游端'),
70
+    )
71
+
72
+    src = models.IntegerField(_(u'src'), choices=SRC, default=PAIAI_USER, help_text=u'来源', db_index=True)
73
+
74
+    class Meta:
75
+        abstract = True

+ 1 - 1
pai2/settings.py

@@ -292,7 +292,7 @@ PAI2_TOURGUIDE_DOWNLOAD_IOS_URL = 'https://pai.ai'
292 292
 GROUP_PER_PAGE = 20  # 群组每页数量
293 293
 
294 294
 # 游客设置
295
-GUEST_USER_ID = 'guest'
295
+PAI2_TOURGUIDE_GUEST_UNIONID = 'oCGajv3Slxef2RuM4Sr-S2jTZwD4'
296 296
 
297 297
 # 版本设置
298 298
 MIN_VERSION = '0.0.0'

+ 2 - 2
pay/views.py

@@ -37,7 +37,7 @@ def wx_order_create_api(request):
37 37
 
38 38
     # 群组照片校验
39 39
     try:
40
-        group_photo = GroupPhotoInfo.objects.get(pk=photo_id)
40
+        group_photo = GroupPhotoInfo.objects.get(pk=photo_id, status=True)
41 41
     except GroupPhotoInfo.DoesNotExist:
42 42
         return response(GroupPhotoStatusCode.GROUP_PHOTO_NOT_FOUND)
43 43
 
@@ -238,7 +238,7 @@ def wx_order_detail_api(request):
238 238
     order_id = request.POST.get('order_id', '')
239 239
 
240 240
     try:
241
-        order = OrderInfo.objects.get(order_id=order_id)
241
+        order = OrderInfo.objects.get(order_id=order_id, status=True)
242 242
     except OrderInfo.DoesNotExist:
243 243
         return response(OrderStatusCode.WX_ORDER_NOT_FOUND)
244 244
 

+ 2 - 2
photo/views.py

@@ -152,7 +152,7 @@ def session_join_api(request):
152 152
     r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id)
153 153
 
154 154
     # 获取 Session 照片
155
-    photos = PhotosInfo.objects.filter(session_id=session_id)
155
+    photos = PhotosInfo.objects.filter(session_id=session_id, status=True)
156 156
 
157 157
     #
158 158
     if group_created:
@@ -205,7 +205,7 @@ def session_join_api(request):
205 205
 
206 206
 @logit
207 207
 def session_detail(request, session_id):
208
-    photos = PhotosInfo.objects.filter(session_id=session_id)
208
+    photos = PhotosInfo.objects.filter(session_id=session_id, status=True)
209 209
     return render(request, 'photo/session_detail.html', {'photos': photos})
210 210
 
211 211
 

+ 2 - 5
utils/redis/rapp.py

@@ -1,17 +1,14 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from operation.models import LatestAppInfo
4 3
 from utils.redis.connect import r
5 4
 from utils.redis.rkeys import LATEST_APP_INFO
6 5
 
7 6
 
8
-# 最新 APP 相关
9
-
10
-
11 7
 def set_latest_app(src=0):
12 8
     """ 设置最新 APP 信息 """
9
+    from operation.models import LatestAppInfo
13 10
     try:
14
-        appinfo = LatestAppInfo.objects.filter(src=src)[0].data
11
+        appinfo = LatestAppInfo.objects.filter(src=src, status=True)[0].data
15 12
     except IndexError:
16 13
         appinfo = {}
17 14
     r.setjson(LATEST_APP_INFO % src, appinfo)

+ 0 - 3
utils/redis/rbrief.py

@@ -7,9 +7,6 @@ from utils.redis.connect import r
7 7
 from utils.redis.rkeys import TODAY_INCOME, TOTAL_INCOME, WEEK_INCOME, WEEK_SOLD
8 8
 
9 9
 
10
-# 简报相关
11
-
12
-
13 10
 def set_brief_info(uid, ptype, fee, dt=None):
14 11
     """ 更新简报信息 """
15 12
     ymd, week = (tc.local_string(tc.to_local_datetime(dt), format='%Y%m%d'), Week.withdate(dt)) if dt else (tc.local_string(format='%Y%m%d'), Week.thisweek().isoformat())

+ 2 - 2
utils/redis/retrieve.py

@@ -43,10 +43,10 @@ def retrieve_group_user_status():
43 43
 def retrieve_group_photo_watchers():
44 44
     group_photos = GroupPhotoInfo.objects.filter(status=True)
45 45
     for group_photo in group_photos:
46
-        photo_comments = PhotoCommentInfo.objects.filter(photo_id=group_photo.pk)
46
+        photo_comments = PhotoCommentInfo.objects.filter(photo_id=group_photo.pk, status=True)
47 47
         for photo_comment in photo_comments:
48 48
             r.sadd(GROUP_PHOTO_WATCHER_SET % group_photo.pk, photo_comment.user_id)
49
-        photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=group_photo.pk)
49
+        photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=group_photo.pk, status=True)
50 50
         for photo_thumbup in photo_thumbups:
51 51
             r.sadd(GROUP_PHOTO_WATCHER_SET % group_photo.pk, photo_thumbup.user_id)
52 52
 

+ 11 - 15
utils/redis/rgroup.py

@@ -8,14 +8,10 @@ from utils.redis.rkeys import (GROUP_INFO, GROUP_PHOTO_COMMENT_LIST, GROUP_PHOTO
8 8
                                GROUP_USERS_KV_INFO)
9 9
 
10 10
 
11
-# 群组信息相关
12
-
13
-
14 11
 def set_group_info(group):
15 12
     """ 设置群组信息 """
16
-    group_data = group.data
17
-    r.setexjson(GROUP_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group_data, cls=DjangoJSONEncoder)
18
-    return group_data
13
+    r.setexjson(GROUP_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group.data, cls=DjangoJSONEncoder)
14
+    return group.data
19 15
 
20 16
 
21 17
 def set_group_info_by_id(group_id):
@@ -107,19 +103,19 @@ def get_group_photo_thumbup_flag(photo_id, user_id):
107 103
     """ 获取群组照片用户点赞标识信息 """
108 104
     if r.exists(GROUP_PHOTO_THUMB_UP % (photo_id, user_id)):
109 105
         return True
110
-    else:
111
-        from group.models import PhotoThumbUpInfo
112
-        if PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True).exists():
113
-            set_group_photo_thumbup_flag(photo_id, user_id)
114
-            return True
115
-        else:
116
-            return False
106
+
107
+    from group.models import PhotoThumbUpInfo
108
+    if PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True, status=True).exists():
109
+        set_group_photo_thumbup_flag(photo_id, user_id)
110
+        return True
111
+
112
+    return False
117 113
 
118 114
 
119 115
 def set_group_photo_comment_list(photo_id):
120 116
     """ 设置群组照片用户评论列表 """
121 117
     from group.models import PhotoCommentInfo
122
-    photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id)
118
+    photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id, status=True)
123 119
     photo_comments = [comment.comment_info for comment in photo_comments]
124 120
     r.setjson(GROUP_PHOTO_COMMENT_LIST % photo_id, photo_comments, cls=DjangoJSONEncoder)
125 121
     return photo_comments
@@ -133,7 +129,7 @@ def get_group_photo_comment_list(photo_id):
133 129
 def set_group_photo_thumbup_list(photo_id):
134 130
     """ 设置群组照片用户点赞列表 """
135 131
     from group.models import PhotoThumbUpInfo
136
-    photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True)
132
+    photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True, status=True)
137 133
     photo_thumbups = [thumbup.thumbup_info for thumbup in photo_thumbups]
138 134
     r.setjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, photo_thumbups, cls=DjangoJSONEncoder)
139 135
     return photo_thumbups

+ 5 - 8
utils/redis/rguest.py

@@ -4,20 +4,17 @@ from utils.redis.connect import r
4 4
 from utils.redis.rkeys import GUEST_ENTRANCE_CONTROL_INFO
5 5
 
6 6
 
7
-# 游客入口控制相关
8
-
9
-
10 7
 def set_guest_entrance_control(gen):
11 8
     """ 设置游客入口控制 """
12
-    r.setjson(GUEST_ENTRANCE_CONTROL_INFO, gen.data)
9
+    r.setjson(GUEST_ENTRANCE_CONTROL_INFO % gen.src, gen.data)
13 10
     return gen.data
14 11
 
15 12
 
16
-def get_guest_entrance_control():
13
+def get_guest_entrance_control(src=0):
17 14
     """ 获取游客入口控制 """
18
-    return r.getjson(GUEST_ENTRANCE_CONTROL_INFO)
15
+    return r.getjson(GUEST_ENTRANCE_CONTROL_INFO % src)
19 16
 
20 17
 
21
-def delete_guest_entrance_control():
18
+def delete_guest_entrance_control(src=0):
22 19
     """ 删除游客入口控制 """
23
-    return r.delete(GUEST_ENTRANCE_CONTROL_INFO)
20
+    return r.delete(GUEST_ENTRANCE_CONTROL_INFO % src)

+ 2 - 2
utils/redis/rkeys.py

@@ -1,7 +1,7 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3 3
 # 唯一标识相关
4
-UUID_LIST = 'uuid:list'  # List, 唯一标识列表
4
+UUID_LIST = 'uuid:list'  # List,唯一标识列表
5 5
 
6 6
 # 用户相关
7 7
 PROFILE_INFO = 'profile:info:%s'  # STRING,用户信息,user_id
@@ -59,7 +59,7 @@ SYSTEM_MESSAGE_READ_INFO = 'system:message:read:info:%s'  # STRING,系统消
59 59
 SYSTEM_MESSAGE_DELETED_INFO = 'system:message:deleted:info:%s'  # STRING,系统消息删除信息,user_id
60 60
 
61 61
 # 游客入口相关
62
-GUEST_ENTRANCE_CONTROL_INFO = 'guest:entrance:control:info'  # STRING,游客入口控制信息
62
+GUEST_ENTRANCE_CONTROL_INFO = 'guest:entrance:control:info:%s'  # STRING,游客入口控制信息,src
63 63
 
64 64
 # APP 相关
65 65
 LATEST_APP_INFO = 'latest:app:info:%s'  # STRING,最新 APP 信息,src

+ 2 - 4
utils/redis/rmessage.py

@@ -1,15 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from message.models import SystemMessageDeleteInfo, SystemMessageReadInfo
4 3
 from utils.redis.connect import r
5 4
 from utils.redis.rkeys import SYSTEM_MESSAGE_DELETED_INFO, SYSTEM_MESSAGE_READ_INFO
6 5
 
7 6
 
8
-# 系统消息相关
9
-
10
-
11 7
 def set_system_message_read_info(user_id):
12 8
     """ 设置系统消息读取信息 """
9
+    from message.models import SystemMessageReadInfo
13 10
     read_messages = SystemMessageReadInfo.objects.filter(user_id=user_id, status=True)
14 11
     read_message_ids = [msg.msg_id for msg in read_messages]
15 12
     r.setexjson(SYSTEM_MESSAGE_READ_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, read_message_ids)
@@ -23,6 +20,7 @@ def get_system_message_read_info(user_id):
23 20
 
24 21
 def set_system_message_delete_info(user_id):
25 22
     """ 设置系统消息删除信息 """
23
+    from message.models import SystemMessageDeleteInfo
26 24
     deleted_messages = SystemMessageDeleteInfo.objects.filter(user_id=user_id, status=True)
27 25
     deleted_message_ids = [msg.msg_id for msg in deleted_messages]
28 26
     r.setexjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, deleted_message_ids)

+ 2 - 6
utils/redis/rorder.py

@@ -6,14 +6,10 @@ from utils.redis.connect import r
6 6
 from utils.redis.rkeys import LENSMAN_PHOTO_ORDER_RECORD
7 7
 
8 8
 
9
-# 摄影师照片购买记录相关
10
-
11
-
12 9
 def set_lensman_order_record(porder):
13 10
     """ 设置摄影师照片购买记录 """
14
-    porder_info = porder.porder_info
15
-    r.setexjson(LENSMAN_PHOTO_ORDER_RECORD % (porder.photo_id, porder.user_id), r.REDIS_EXPIRED_ONE_MONTH, porder_info, cls=DjangoJSONEncoder)
16
-    return porder_info
11
+    r.setexjson(LENSMAN_PHOTO_ORDER_RECORD % (porder.photo_id, porder.user_id), r.REDIS_EXPIRED_ONE_MONTH, porder.porder_info, cls=DjangoJSONEncoder)
12
+    return porder.porder_info
17 13
 
18 14
 
19 15
 def set_lensman_order_record_by_id(photo_id, user_id):

+ 1 - 4
utils/redis/rprice.py

@@ -1,15 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from account.models import LensmanInfo
4 3
 from utils.redis.connect import r
5 4
 from utils.redis.rkeys import LENSMAN_PHOTO_PRICE_FIXED
6 5
 
7 6
 
8
-# 最新 APP 相关
9
-
10
-
11 7
 def set_lensman_price_fixed(user_id):
12 8
     """ 设置摄影师价格设定 """
9
+    from account.models import LensmanInfo
13 10
     try:
14 11
         lensman = LensmanInfo.objects.get(lensman_id=user_id)
15 12
     except LensmanInfo.DoesNotExist:

+ 0 - 3
utils/redis/rprofile.py

@@ -4,9 +4,6 @@ from utils.redis.connect import r
4 4
 from utils.redis.rkeys import PROFILE_INFO
5 5
 
6 6
 
7
-# 用户相关
8
-
9
-
10 7
 def set_profile_info(user):
11 8
     """ 设置用户信息 """
12 9
     r.setjson(PROFILE_INFO % user.user_id, user.data)

+ 0 - 3
utils/redis/rtourguide.py

@@ -4,9 +4,6 @@ from utils.redis.connect import r
4 4
 from utils.redis.rkeys import TOUR_GUIDE_GROUP_USER_OWN
5 5
 
6 6
 
7
-# 导游相关
8
-
9
-
10 7
 def set_tour_guide_own_group(user_id, group_id):
11 8
     """ 设置导游拥有的旅行团 """
12 9
     r.set(TOUR_GUIDE_GROUP_USER_OWN % user_id, group_id)

+ 0 - 3
utils/redis/rtouruser.py

@@ -4,9 +4,6 @@ from utils.redis.connect import r
4 4
 from utils.redis.rkeys import TOUR_GUIDE_GROUP_USER_BELONG
5 5
 
6 6
 
7
-# 旅行团成员相关
8
-
9
-
10 7
 def set_tour_user_belong_group(user_id, group_id):
11 8
     """ 设置旅行团成员所属的旅行团 """
12 9
     r.set(TOUR_GUIDE_GROUP_USER_BELONG % user_id, group_id)

kodo - Gogs: Go Git Service

No Description

express_views.py 1.4KB

    # -*- coding: utf-8 -*- from __future__ import division from django_logit import logit from django_response import response from paginator import pagination from maintenance.models import ExpressCompanyInfo from utils.error.errno_utils import ExpressStatusCode @logit def express_add(request): name = request.POST.get('name', '') express = ExpressCompanyInfo.objects.create(name=name) return response(data={ 'express_id': express.id, }) @logit def express_delete(request): express_id = request.POST.get('express_id', '') ExpressCompanyInfo.objects.filter(id=express_id).update(status=False) return response() @logit def express_update(request): express_id = request.POST.get('express_id', '') name = request.POST.get('name', '') try: point = ExpressCompanyInfo.objects.get(pk=express_id) except ExpressCompanyInfo.DoesNotExist: return response(ExpressStatusCode.EXPRESS_NOT_FOUND) if name: point.name = name point.save() return response() @logit def express_list(request): page = request.POST.get('page', 1) num = request.POST.get('num', 20) express = ExpressCompanyInfo.objects.filter(status=True).order_by('position') express = [exp.data for exp in express] express, left = pagination(express, page, num) return response(data={ 'express': express, 'left': left, })