@@ -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({ |
@@ -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) |
@@ -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 |