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