Add api tgu_group_user_is_joined_api

Brightcells 8 年之前
父節點
當前提交
f8f4c525c9
共有 2 個文件被更改,包括 39 次插入0 次删除
  1. 1 0
      api/urls.py
  2. 38 0
      group/tourguidegroupuser_views.py

+ 1 - 0
api/urls.py

@@ -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'),  # 旅行团成员信息更新

+ 38 - 0
group/tourguidegroupuser_views.py

@@ -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
     """ 旅行团成员加团 """