@@ -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 |
# 获取旅行团唯一标识 |
@@ -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() |
@@ -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) |