Basic realize set geo submit flag for api tg_group_detail_api

Brightcells 8 年之前
父节点
当前提交
4d51c3e342
共有 3 个文件被更改,包括 18 次插入3 次删除
  1. 3 1
      geo/views.py
  2. 14 2
      group/tourguidegroup_views.py
  3. 1 0
      utils/redis/rkeys.py

+ 3 - 1
geo/views.py

@@ -11,7 +11,8 @@ from TimeConvert import TimeConvert as tc
11 11
 
12 12
 from utils.error.errno_utils import GroupUserStatusCode
13 13
 from utils.error.response_utils import response
14
-from utils.redis.rkeys import TOUR_GUIDE_GROUP_CUR_SESSION, TOUR_GUIDE_GROUP_GEO_INFO, TOUR_GUIDE_GROUP_USER_GEO_LIST
14
+from utils.redis.rkeys import (TOUR_GUIDE_GROUP_CUR_SESSION, TOUR_GUIDE_GROUP_GEO_INFO, TOUR_GUIDE_GROUP_GEO_SUBMIT_DT,
15
+                               TOUR_GUIDE_GROUP_USER_GEO_LIST)
15 16
 from utils.redis.rtouruser import get_tour_user_belong_group
16 17
 
17 18
 
@@ -30,6 +31,7 @@ def geo_submit_api(request):
30 31
         return response(GroupUserStatusCode.USER_HAS_NOT_JOIN_GROUP)
31 32
 
32 33
     r.geoadd(TOUR_GUIDE_GROUP_GEO_INFO % group_id, longitude, latitude, user_id)
34
+    r.hset(TOUR_GUIDE_GROUP_GEO_SUBMIT_DT % group_id, user_id, tc.utc_string(format='%Y-%m-%dT%H:%M:%SZ'))
33 35
 
34 36
     session_id = r.get(TOUR_GUIDE_GROUP_CUR_SESSION % group_id)
35 37
     r.rpush(TOUR_GUIDE_GROUP_USER_GEO_LIST % (group_id, session_id, user_id), json.dumps({

+ 14 - 2
group/tourguidegroup_views.py

@@ -16,7 +16,8 @@ from group.models import GroupInfo, GroupUserInfo
16 16
 from utils.error.errno_utils import GroupStatusCode, GroupUserStatusCode, TokenStatusCode, UserStatusCode
17 17
 from utils.error.response_utils import response
18 18
 from utils.redis.rgroup import get_group_info, get_group_users_info, set_group_info, set_group_users_info
19
-from utils.redis.rkeys import TOUR_GUIDE_GROUP_CUR_GATHER_INFO, TOUR_GUIDE_GROUP_CUR_SESSION
19
+from utils.redis.rkeys import (TOUR_GUIDE_GROUP_CUR_GATHER_INFO, TOUR_GUIDE_GROUP_CUR_SESSION,
20
+                               TOUR_GUIDE_GROUP_GEO_SUBMIT_DT)
20 21
 from utils.redis.rtourguide import get_tour_guide_own_group, set_tour_guide_own_group
21 22
 from utils.redis.rtouruser import get_tour_user_belong_group
22 23
 from utils.storage_utils import file_save
@@ -101,15 +102,26 @@ def tg_group_create_api(request):
101 102
     })
102 103
 
103 104
 
105
+def set_geo_submit_flag(uinfo, geo_dt):
106
+    uinfo['geo_submited'] = False
107
+    if geo_dt:
108
+        pass
109
+    return uinfo
110
+
111
+
104 112
 @logit
105 113
 def tg_group_detail_api(request):
106 114
     """ 旅行团详情 """
107 115
     group_id = request.POST.get('group_id', '')
108 116
     user_id = request.POST.get('user_id', '')
109 117
 
118
+    geo_dts = r.hgetall(TOUR_GUIDE_GROUP_GEO_SUBMIT_DT % group_id)
119
+
110 120
     group_users_info = get_group_users_info(group_id, user_id)
111 121
     # Remove tourguide
112
-    group_passed_users = [user for user in group_users_info['passed'] if not user['subadmin']]
122
+    group_passed_users = [uinfo for uinfo in group_users_info['passed'] if not uinfo['subadmin']]
123
+    # GEO Submited Flag
124
+    group_passed_users = [set_geo_submit_flag(uinfo, geo_dts.get(uinfo['user_id'], '')) for uinfo in group_passed_users]
113 125
     group_users_info['passed'] = group_passed_users
114 126
     # Update passed count
115 127
     group_users_info['passed_count'] = len(group_passed_users)

+ 1 - 0
utils/redis/rkeys.py

@@ -8,6 +8,7 @@ PROFILE_INFO = 'profile:info:%s'  # STRING,用户信息,user_id
8 8
 
9 9
 # 导游相关
10 10
 TOUR_GUIDE_GROUP_GEO_INFO = 'tour:guide:group:geo:info:%s'  # ZSET,旅游团地理位置信息,group_id
11
+TOUR_GUIDE_GROUP_GEO_SUBMIT_DT = 'tour:guide:group:geo:submit:dt:%s'  # ZSET,旅游团地理位置最后上传时间,group_id
11 12
 TOUR_GUIDE_GROUP_CUR_SESSION = 'tour:guide:group:cur:session:%s'  # STRING,旅游团当前Session,group_id,导游设置集合时间的时候更新
12 13
 TOUR_GUIDE_GROUP_CUR_GATHER_INFO = 'tour:guide:group:cur:gather:info:%s'  # STRING,旅游团当前Session,group_id,导游设置集合时间的时候更新
13 14
 TOUR_GUIDE_GROUP_USER_GEO_LIST = 'tour:guide:group:user:geo:list:%s:%s:%s'  # LIST,旅游团当前用户地理位置列表,group_id、session_id、user_id