| @@ -93,6 +93,7 @@ urlpatterns += [ | ||
| 93 | 93 |  | 
| 94 | 94 | # 旅行团成员相关 | 
| 95 | 95 | urlpatterns += [ | 
| 96 | + url(r'^tgu/is_joined$', tourguidegroupuser_views.tgu_group_user_is_joined_api, name='tgu_group_user_is_joined_api'), # 旅行团成员是否已加团 | |
| 96 | 97 | url(r'^tgu/join$', tourguidegroupuser_views.tgu_group_user_join_api, name='tgu_group_user_join_api'), # 旅行团成员加团 | 
| 97 | 98 | url(r'^tgu/remove$', tourguidegroupuser_views.tgu_group_user_remove_api, name='tgu_group_user_remove_api'), # 旅行团成员移除,管理员主动,团成员被动 | 
| 98 | 99 | url(r'^tgu/update$', tourguidegroupuser_views.tgu_group_user_update_api, name='tg_group_update_api'), # 旅行团成员信息更新 | 
| @@ -25,6 +25,44 @@ from utils.redis.rtourguide import get_tour_guide_own_group | ||
| 25 | 25 | from utils.redis.rtouruser import set_tour_user_belong_group | 
| 26 | 26 |  | 
| 27 | 27 |  | 
| 28 | +@logit | |
| 29 | +def tgu_group_user_is_joined_api(request): | |
| 30 | + """ 旅行团成员是否已加团 """ | |
| 31 | +    admin_id = request.POST.get('admin_id', '')  # 导游唯一标识,识别二维码获取 | |
| 32 | +    user_id = request.POST.get('user_id', '') | |
| 33 | + | |
| 34 | + # 获取旅行团唯一标识 | |
| 35 | + group_id = get_tour_guide_own_group(admin_id) | |
| 36 | + | |
| 37 | + # 用户校验 | |
| 38 | + try: | |
| 39 | + user = UserInfo.objects.get(user_id=user_id) | |
| 40 | + except UserInfo.DoesNotExist: | |
| 41 | + return response(UserStatusCode.USER_NOT_FOUND) | |
| 42 | + | |
| 43 | + # 群组校验 | |
| 44 | + try: | |
| 45 | + group = GroupInfo.objects.get(group_id=group_id) | |
| 46 | + except GroupInfo.DoesNotExist: | |
| 47 | + return response(GroupStatusCode.GROUP_NOT_FOUND) | |
| 48 | + | |
| 49 | + # 群组锁定校验 | |
| 50 | + if group.group_lock: | |
| 51 | + return response(GroupStatusCode.GROUP_HAS_LOCKED) | |
| 52 | + | |
| 53 | + # Check whether ended | |
| 54 | + ended_at = group.ended_at | |
| 55 | + if ended_at and tc.utc_datetime() > (tc.utc_string_to_utc_datetime(ended_at, format='%Y-%m-%dT%H:%M:%SZ') if isinstance(ended_at, basestring) else ended_at): | |
| 56 | + return response(GroupStatusCode.GROUP_HAS_ENDED) | |
| 57 | + | |
| 58 | + # 群组用户是否存在 | |
| 59 | + joined = GroupUserInfo.objects.filter(group_id=group_id, user_id=user_id).exists() | |
| 60 | + | |
| 61 | +    return response(200, 'Tour Guide User Has Joined', u'旅行团成员已加团', { | |
| 62 | + 'joined': joined, | |
| 63 | + }) | |
| 64 | + | |
| 65 | + | |
| 28 | 66 | @logit(res=settings.LOGIT_RES_FLAG) | 
| 29 | 67 | def tgu_group_user_join_api(request): | 
| 30 | 68 | """ 旅行团成员加团 """ |