have_active_group

Brightcells лет %!s(int64=8): %!d(string=назад)
Родитель
Сommit
5ebf9b60ba
3 измененных файлов с 18 добавлено и 11 удалено
  1. 4 10
      group/tourguidegroup_views.py
  2. 9 1
      utils/admin_utils.py
  3. 5 0
      utils/redis/rtourguide.py

+ 4 - 10
group/tourguidegroup_views.py

@@ -13,7 +13,7 @@ from TimeConvert import TimeConvert as tc
13 13
 
14 14
 from account.models import UserInfo
15 15
 from group.models import GroupInfo, GroupUserInfo
16
-from utils.admin_utils import is_group_admin, is_group_subadmin
16
+from utils.admin_utils import have_active_group, is_group_admin, is_group_subadmin
17 17
 from utils.error.errno_utils import GroupStatusCode, GroupUserStatusCode, TokenStatusCode, UserStatusCode
18 18
 from utils.error.response_utils import response
19 19
 from utils.redis.connect import r
@@ -45,13 +45,7 @@ def tg_group_create_api(request):
45 45
         return response(GroupStatusCode.NOT_GROUP_ADMIN)
46 46
 
47 47
     # 旅行团校验
48
-    if GroupInfo.objects.filter(
49
-        # admin_id=user_id,
50
-        group_id=get_tour_guide_own_group(user_id),
51
-        group_closed=False,
52
-        status=True,
53
-        ended_at__gt=tc.utc_datetime(),
54
-    ).exists():
48
+    if have_active_group(user_id):
55 49
         return response(GroupStatusCode.ONLY_ONE_ACTIVE_GROUP_ALLOWED)
56 50
 
57 51
     # 群组唯一标识
@@ -313,8 +307,8 @@ def tg_group_transfer_api(request):
313 307
     user_id = request.POST.get('user_id', '')
314 308
     token = request.POST.get('token', '')
315 309
 
316
-    # 被转移用户是否已经有群
317
-    if get_tour_guide_own_group(user_id):
310
+    # 旅行团校验
311
+    if have_active_group(user_id):
318 312
         return response(GroupStatusCode.ONLY_ONE_ACTIVE_GROUP_ALLOWED)
319 313
 
320 314
     # 获取旅行团唯一标识

+ 9 - 1
utils/admin_utils.py

@@ -1,6 +1,8 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from group.models import GroupUserInfo
3
+from TimeConvert import TimeConvert as tc
4
+
5
+from group.models import GroupInfo, GroupUserInfo
4 6
 
5 7
 
6 8
 def is_group_admin(group_id, admin_id):
@@ -9,3 +11,9 @@ def is_group_admin(group_id, admin_id):
9 11
 
10 12
 def is_group_subadmin(group_id, admin_id):
11 13
     return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, subadmin=True, status=True).exists()
14
+
15
+
16
+def have_active_group(user_id):
17
+    groups = GroupUserInfo.objects.filter(user_id=user_id, subadmin=True, status=True)
18
+    groupids = [group.group_id for group in groups]
19
+    return GroupInfo.objects.filter(group_id_in=groupids, group_closed=False, status=True, ended_at__gt=tc.utc_datetime()).exists()

+ 5 - 0
utils/redis/rtourguide.py

@@ -15,3 +15,8 @@ def set_tour_guide_own_group(user_id, group_id):
15 15
 def get_tour_guide_own_group(user_id):
16 16
     """ 获取导游拥有的旅行团 """
17 17
     return r.get(TOUR_GUIDE_GROUP_USER_OWN % user_id)
18
+
19
+
20
+def del_tour_guide_own_group(user_id):
21
+    """ 删除导游拥有的旅行团 """
22
+    return r.delete(TOUR_GUIDE_GROUP_USER_OWN % user_id)