lass="lines-num lines-num-new">
-
|
|
74
|
|
-
|
|
75
|
|
-# 群组照片相关
|
|
76
|
|
-
|
|
77
|
|
-
|
|
78
|
|
-def set_group_photo_data(group_id):
|
|
79
|
|
- """ 设置群组照片数据信息 """
|
|
80
|
|
- from group.models import GroupPhotoInfo
|
|
81
|
|
- group_photos = GroupPhotoInfo.objects.filter(group_id=group_id, status=True)
|
|
82
|
|
- group_photos = [photo.photo_data for photo in group_photos]
|
|
83
|
|
- r.setjson(GROUP_PHOTO_DATA % group_id, group_photos)
|
|
84
|
|
- return group_photos
|
|
85
|
|
-
|
|
86
|
|
-
|
|
87
|
|
-def get_group_photo_data(group_id):
|
|
88
|
|
- """ 获取群组照片数据信息 """
|
|
89
|
|
- return r.getjson(GROUP_PHOTO_DATA % group_id, default='[]') or set_group_photo_data(group_id)
|
|
90
|
|
-
|
|
91
|
|
-
|
|
92
|
|
-def set_group_photo_thumbup_flag(photo_id, user_id):
|
|
93
|
|
- """ 设置群组照片用户点赞标识信息 """
|
|
94
|
|
- r.setex(GROUP_PHOTO_THUMB_UP % (photo_id, user_id), r.REDIS_EXPIRED_ONE_MONTH, True)
|
|
95
|
|
-
|
|
96
|
|
-
|
|
97
|
|
-def del_group_photo_thumbup_flag(photo_id, user_id):
|
|
98
|
|
- """ 删除群组照片用户点赞标识信息 """
|
|
99
|
|
- r.delete(GROUP_PHOTO_THUMB_UP % (photo_id, user_id))
|
|
100
|
|
-
|
|
101
|
|
-
|
|
102
|
|
-def get_group_photo_thumbup_flag(photo_id, user_id):
|
|
103
|
|
- """ 获取群组照片用户点赞标识信息 """
|
|
104
|
|
- if r.exists(GROUP_PHOTO_THUMB_UP % (photo_id, user_id)):
|
|
105
|
|
- return True
|
|
106
|
|
-
|
|
107
|
|
- from group.models import PhotoThumbUpInfo
|
|
108
|
|
- if PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True, status=True).exists():
|
|
109
|
|
- set_group_photo_thumbup_flag(photo_id, user_id)
|
|
110
|
|
- return True
|
|
111
|
|
-
|
|
112
|
|
- return False
|
|
113
|
|
-
|
|
114
|
|
-
|
|
115
|
|
-def set_group_photo_comment_list(photo_id):
|
|
116
|
|
- """ 设置群组照片用户评论列表 """
|
|
117
|
|
- from group.models import PhotoCommentInfo
|
|
118
|
|
- photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id, status=True)
|
|
119
|
|
- photo_comments = [comment.comment_info for comment in photo_comments]
|
|
120
|
|
- r.setjson(GROUP_PHOTO_COMMENT_LIST % photo_id, photo_comments, cls=DjangoJSONEncoder)
|
|
121
|
|
- return photo_comments
|
|
122
|
|
-
|
|
123
|
|
-
|
|
124
|
|
-def get_group_photo_comment_list(photo_id):
|
|
125
|
|
- """ 获取群组照片用户评论列表 """
|
|
126
|
|
- return r.getjson(GROUP_PHOTO_COMMENT_LIST % photo_id, default='[]') or set_group_photo_comment_list(photo_id)
|
|
127
|
|
-
|
|
128
|
|
-
|
|
129
|
|
-def set_group_photo_thumbup_list(photo_id):
|
|
130
|
|
- """ 设置群组照片用户点赞列表 """
|
|
131
|
|
- from group.models import PhotoThumbUpInfo
|
|
132
|
|
- photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True, status=True)
|
|
133
|
|
- photo_thumbups = [thumbup.thumbup_info for thumbup in photo_thumbups]
|
|
134
|
|
- r.setjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, photo_thumbups, cls=DjangoJSONEncoder)
|
|
135
|
|
- return photo_thumbups
|
|
136
|
|
-
|
|
137
|
|
-
|
|
138
|
|
-def get_group_photo_thumbup_list(photo_id):
|
|
139
|
|
- """ 获取群组照片用户点赞列表 """
|
|
140
|
|
- return r.getjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, default='[]') or set_group_photo_thumbup_list(photo_id)
|
|
141
|
|
-
|
|
142
|
|
-
|
|
143
|
|
-def get_group_photo_watchers(photo_id, discarders=None):
|
|
144
|
|
- """ 获取群组照片用户关注列表 """
|
|
145
|
|
- watchers = r.smembers(GROUP_PHOTO_WATCHER_SET % photo_id)
|
|
146
|
|
- [watchers.discard(elem) for elem in discarders or []]
|
|
147
|
|
- return watchers
|
|
|
|
@@ -1,20 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from utils.redis.connect import r
|
|
4
|
|
-from utils.redis.rkeys import GUEST_ENTRANCE_CONTROL_INFO
|
|
5
|
|
-
|
|
6
|
|
-
|
|
7
|
|
-def set_guest_entrance_control(gen):
|
|
8
|
|
- """ 设置游客入口控制 """
|
|
9
|
|
- r.setjson(GUEST_ENTRANCE_CONTROL_INFO % gen.src, gen.data)
|
|
10
|
|
- return gen.data
|
|
11
|
|
-
|
|
12
|
|
-
|
|
13
|
|
-def get_guest_entrance_control(src=0):
|
|
14
|
|
- """ 获取游客入口控制 """
|
|
15
|
|
- return r.getjson(GUEST_ENTRANCE_CONTROL_INFO % src)
|
|
16
|
|
-
|
|
17
|
|
-
|
|
18
|
|
-def delete_guest_entrance_control(src=0):
|
|
19
|
|
- """ 删除游客入口控制 """
|
|
20
|
|
- return r.delete(GUEST_ENTRANCE_CONTROL_INFO % src)
|
|
|
|
@@ -1,71 +1,12 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-# 唯一标识相关
|
|
4
|
|
-UUID_LIST = 'uuid:list' # List,唯一标识列表
|
|
5
|
|
-
|
|
6
|
|
-# 用户相关
|
|
7
|
|
-PROFILE_INFO = 'profile:info:%s' # STRING,用户信息,user_id
|
|
8
|
|
-
|
|
9
|
|
-# 导游相关
|
|
10
|
|
-TOUR_GUIDE_GROUP_GEO_INFO = 'tour:guide:group:geo:info:%s' # ZSET,旅游团地理位置信息,group_id
|
|
11
|
|
-TOUR_GUIDE_GROUP_GEO_SUBMIT_DT = 'tour:guide:group:geo:submit:dt:%s' # ZSET,旅游团地理位置最后上传时间,group_id
|
|
12
|
|
-TOUR_GUIDE_GROUP_CUR_SESSION = 'tour:guide:group:cur:session:%s' # STRING,旅游团当前Session,group_id,导游设置集合时间的时候更新
|
|
13
|
|
-TOUR_GUIDE_GROUP_CUR_GATHER_INFO = 'tour:guide:group:cur:gather:info:%s' # STRING,旅游团当前Session,group_id,导游设置集合时间的时候更新
|
|
14
|
|
-TOUR_GUIDE_GROUP_USER_GEO_LIST = 'tour:guide:group:user:geo:list:%s:%s:%s' # LIST,旅游团当前用户地理位置列表,group_id、session_id、user_id
|
|
15
|
|
-
|
|
16
|
|
-TOUR_GUIDE_GROUP_USER_OWN = 'tour:guide:group:user:own:%s' # STRING,导游当前拥有的旅行团,user_id,导游创建旅行团的时候更新
|
|
17
|
|
-TOUR_GUIDE_GROUP_USER_BELONG = 'tour:guide:group:user:belong:%s' # STRING,用户当前所属旅行团,user_id,用户加入旅行团的时候更新
|
|
18
|
|
-
|
|
19
|
|
-# 群组相关
|
|
20
|
|
-GROUP_INFO = 'group:info:%s' # STRING,群组信息,group_id
|
|
21
|
|
-
|
|
22
|
|
-# 群组用户相关
|
|
23
|
|
-GROUP_USERS_INFO = 'group:users:info:%s' # STRING,群组用户信息,group_id
|
|
24
|
|
-GROUP_USERS_KV_INFO = 'group:users:kv:info:%s' # STRING,群组用户信息,group_id
|
|
25
|
|
-GROUP_USERS_APPLYING_SET = 'group:users:applying:set:%s' # SET,群组用户申请集合,group_id
|
|
26
|
|
-GROUP_USERS_PASSED_SET = 'group:users:passed:set:%s' # SET,群组用户通过集合,group_id
|
|
27
|
|
-GROUP_USERS_REFUSED_SET = 'group:users:refused:set:%s' # SET,群组用户拒绝集合,group_id
|
|
28
|
|
-GROUP_USERS_DELETED_SET = 'group:users:deleted:set:%s' # SET,群组用户移除集合,group_id
|
|
29
|
|
-GROUP_USERS_QUIT_SET = 'group:users:quit:set:%s' # SET,群组用户退出集合,group_id
|
|
30
|
|
-
|
|
31
|
|
-# 群组照片相关
|
|
32
|
|
-GROUP_PHOTO_DATA = 'group:photo:data:%s' # STRING,群组数据记录,group_id
|
|
33
|
|
-GROUP_PHOTO_THUMB_UP = 'group:photo:thumb:up:%s:%s' # STRING,群组照片用户点赞记录,photo_id、user_id
|
|
34
|
|
-GROUP_PHOTO_COMMENT_LIST = 'group:photo:comment:list:%s' # STRING,群组照片用户评论列表,photo_id
|
|
35
|
|
-GROUP_PHOTO_THUMB_UP_LIST = 'group:photo:thumb:up:list:%s' # STRING,群组照片用户点赞列表,photo_id
|
|
36
|
|
-GROUP_PHOTO_WATCHER_SET = 'group:photo:watcher:set:%s' # SET,群组照片用户关注集合,photo_id,关注即评论点赞
|
|
37
|
|
-GROUP_LAST_PHOTO_PK = 'group:last:photo:pk:%s' # STRING,群组最后一张照片PK,group_id
|
|
38
|
|
-
|
|
39
|
|
-# 摄影师照片相关
|
|
40
|
|
-LENSMAN_PHOTO_ORDER_RECORD = 'lensman:photo:order:record:%s:%s' # STRING,摄影师照片购买记录,photo_id、user_id
|
|
41
|
|
-
|
|
42
|
|
-# 摄影师简报相关
|
|
43
|
|
-# 收入
|
|
44
|
|
-TOTAL_INCOME = 'total:income:%s:%s' # STRING,总收入,user_id、photo_type
|
|
45
|
|
-WEEK_INCOME = 'week:income:%s:%s:%s' # STRING,周收入,user_id、photo_type、Week.thisweek().isoformat()
|
|
46
|
|
-TODAY_INCOME = 'today:income:%s:%s:%s' # STRING,日收入,user_id、photo_type、tc.local_string(format='%Y%m%d')
|
|
47
|
|
-# 上传
|
|
48
|
|
-TODAY_UPLOAD_PHOTO_AMOUNT = 'today:upload:photo:amount:%s:%s' # STRING,日上传照片数量,user_id、tc.local_string(format='%Y%m%d')
|
|
49
|
|
-# 售出
|
|
50
|
|
-WEEK_SOLD = 'week:sold:%s:%s:%s' # STRING,周售出,user_id、photo_type、Week.thisweek().isoformat()
|
|
51
|
|
-
|
|
52
|
|
-# 摄影师定价相关
|
|
53
|
|
-LENSMAN_PHOTO_PRICE_FIXED = 'lensman:photo:price:fixed:%s' # STRING,摄影师照片定价(单位:分),user_id
|
|
54
|
|
-
|
|
55
|
|
-# 系统消息相关
|
|
56
|
|
-SYSTEM_MESSAGE_READ_INFO = 'system:message:read:info:%s' # STRING,系统消息读取信息,user_id
|
|
57
|
|
-SYSTEM_MESSAGE_DELETED_INFO = 'system:message:deleted:info:%s' # STRING,系统消息删除信息,user_id
|
|
58
|
|
-
|
|
59
|
|
-# 游客入口相关
|
|
60
|
|
-GUEST_ENTRANCE_CONTROL_INFO = 'guest:entrance:control:info:%s' # STRING,游客入口控制信息,src
|
|
|
1
|
+# -*- coding: utf-8 -*-'
|
|
61
|
2
|
|
|
62
|
3
|
# APP 相关
|
|
63
|
4
|
LATEST_APP_INFO = 'latest:app:info:%s' # STRING,最新 APP 信息,src
|
|
64
|
5
|
APP_SETTINGS_INFO = 'app:settings:info:%s:%s:%s' # STRING,APP 设置信息,platform、channel、version
|
|
65
|
6
|
APP_PATCH_INFO = 'app:patch:info:%s:%s:%s' # STRING,APP 补丁信息,platform、version、src
|
|
66
|
7
|
|
|
67
|
|
-# BOX 相关
|
|
68
|
|
-BOX_PROGRAM_VERSION_INFO = 'box:program:version:info' # STRING,BOX 程序版本信息
|
|
|
8
|
+# 用户相关
|
|
|
9
|
+PROFILE_INFO = 'profile:info:%s' # STRING,用户信息,user_id
|
|
69
|
10
|
|
|
70
|
11
|
# 小程序相关
|
|
71
|
12
|
MINI_PROGRAM_GIS_LIST = 'tamron:miniprogram:gis:list'
|
|
|
|
@@ -1,32 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from utils.redis.connect import r
|
|
4
|
|
-from utils.redis.rkeys import SYSTEM_MESSAGE_DELETED_INFO, SYSTEM_MESSAGE_READ_INFO
|
|
5
|
|
-
|
|
6
|
|
-
|
|
7
|
|
-def set_system_message_read_info(user_id):
|
|
8
|
|
- """ 设置系统消息读取信息 """
|
|
9
|
|
- from message.models import SystemMessageReadInfo
|
|
10
|
|
- read_messages = SystemMessageReadInfo.objects.filter(user_id=user_id, status=True)
|
|
11
|
|
- read_message_ids = [msg.msg_id for msg in read_messages]
|
|
12
|
|
- r.setexjson(SYSTEM_MESSAGE_READ_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, read_message_ids)
|
|
13
|
|
- return read_message_ids
|
|
14
|
|
-
|
|
15
|
|
-
|
|
16
|
|
-def get_system_message_read_info(user_id):
|
|
17
|
|
- """ 获取系统消息读取信息 """
|
|
18
|
|
- return r.getjson(SYSTEM_MESSAGE_READ_INFO % user_id, default='[]') or set_system_message_read_info(user_id)
|
|
19
|
|
-
|
|
20
|
|
-
|
|
21
|
|
-def set_system_message_delete_info(user_id):
|
|
22
|
|
- """ 设置系统消息删除信息 """
|
|
23
|
|
- from message.models import SystemMessageDeleteInfo
|
|
24
|
|
- deleted_messages = SystemMessageDeleteInfo.objects.filter(user_id=user_id, status=True)
|
|
25
|
|
- deleted_message_ids = [msg.msg_id for msg in deleted_messages]
|
|
26
|
|
- r.setexjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, deleted_message_ids)
|
|
27
|
|
- return deleted_message_ids
|
|
28
|
|
-
|
|
29
|
|
-
|
|
30
|
|
-def get_system_message_delete_info(user_id):
|
|
31
|
|
- """ 获取系统消息删除信息 """
|
|
32
|
|
- return r.getjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, default='[]') or set_system_message_delete_info(user_id)
|
|
|
|
@@ -1,20 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from utils.redis.connect import r
|
|
4
|
|
-from utils.redis.rkeys import BOX_PROGRAM_VERSION_INFO
|
|
5
|
|
-
|
|
6
|
|
-
|
|
7
|
|
-def set_box_program_version():
|
|
8
|
|
- """ 设置 BOX 程序版本信息 """
|
|
9
|
|
- from operation.models import BoxProgramVersionInfo
|
|
10
|
|
- try:
|
|
11
|
|
- bpverion = BoxProgramVersionInfo.objects.filter(status=True)[0].data
|
|
12
|
|
- except IndexError:
|
|
13
|
|
- bpverion = {}
|
|
14
|
|
- r.setjson(BOX_PROGRAM_VERSION_INFO, bpverion)
|
|
15
|
|
- return bpverion
|
|
16
|
|
-
|
|
17
|
|
-
|
|
18
|
|
-def get_box_program_version():
|
|
19
|
|
- """ 获取 BOX 程序版本信息 """
|
|
20
|
|
- return r.getjson(BOX_PROGRAM_VERSION_INFO) or set_box_program_version()
|
|
|
|
@@ -1,27 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from django.core.serializers.json import DjangoJSONEncoder
|
|
4
|
|
-
|
|
5
|
|
-from utils.redis.connect import r
|
|
6
|
|
-from utils.redis.rkeys import LENSMAN_PHOTO_ORDER_RECORD
|
|
7
|
|
-
|
|
8
|
|
-
|
|
9
|
|
-def set_lensman_order_record(porder):
|
|
10
|
|
- """ 设置摄影师照片购买记录 """
|
|
11
|
|
- r.setexjson(LENSMAN_PHOTO_ORDER_RECORD % (porder.photo_id, porder.user_id), r.REDIS_EXPIRED_ONE_MONTH, porder.porder_info, cls=DjangoJSONEncoder)
|
|
12
|
|
- return porder.porder_info
|
|
13
|
|
-
|
|
14
|
|
-
|
|
15
|
|
-def set_lensman_order_record_by_id(photo_id, user_id):
|
|
16
|
|
- """ 设置摄影师照片购买记录 """
|
|
17
|
|
- from group.models import GroupPhotoOrderInfo
|
|
18
|
|
- try:
|
|
19
|
|
- porder = GroupPhotoOrderInfo.objects.get(photo_id=photo_id, user_id=user_id)
|
|
20
|
|
- except GroupPhotoOrderInfo.DoesNotExist:
|
|
21
|
|
- return {}
|
|
22
|
|
- return set_lensman_order_record(porder)
|
|
23
|
|
-
|
|
24
|
|
-
|
|
25
|
|
-def get_lensman_order_record(photo_id, user_id):
|
|
26
|
|
- """ 获取摄影师照片购买记录 """
|
|
27
|
|
- return r.getjson(LENSMAN_PHOTO_ORDER_RECORD % (photo_id, user_id)) or set_lensman_order_record_by_id(photo_id, user_id)
|
|
|
|
@@ -1,27 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from utils.redis.connect import r
|
|
4
|
|
-from utils.redis.rkeys import LENSMAN_PHOTO_PRICE_FIXED
|
|
5
|
|
-
|
|
6
|
|
-
|
|
7
|
|
-def set_lensman_price_fixed(user_id):
|
|
8
|
|
- """ 设置摄影师价格设定 """
|
|
9
|
|
- from account.models import LensmanInfo
|
|
10
|
|
- try:
|
|
11
|
|
- lensman = LensmanInfo.objects.get(lensman_id=user_id)
|
|
12
|
|
- except LensmanInfo.DoesNotExist:
|
|
13
|
|
- lensman = None
|
|
14
|
|
-
|
|
15
|
|
- price_fixed = {
|
|
16
|
|
- 'nomark': (lensman and lensman.nomark) or 299,
|
|
17
|
|
- 'origin': (lensman and lensman.origin) or 999,
|
|
18
|
|
- }
|
|
19
|
|
-
|
|
20
|
|
- r.setjson(LENSMAN_PHOTO_PRICE_FIXED % user_id, price_fixed)
|
|
21
|
|
-
|
|
22
|
|
- return price_fixed
|
|
23
|
|
-
|
|
24
|
|
-
|
|
25
|
|
-def get_lensman_price_fixed(user_id):
|
|
26
|
|
- """ 获取摄影师价格设定 """
|
|
27
|
|
- return r.getjson(LENSMAN_PHOTO_PRICE_FIXED % user_id) or set_lensman_price_fixed(user_id)
|
|
|
|
@@ -1,19 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from utils.redis.connect import r
|
|
4
|
|
-from utils.redis.rkeys import TOUR_GUIDE_GROUP_USER_OWN
|
|
5
|
|
-
|
|
6
|
|
-
|
|
7
|
|
-def set_tour_guide_own_group(user_id, group_id):
|
|
8
|
|
- """ 设置导游拥有的旅行团 """
|
|
9
|
|
- r.set(TOUR_GUIDE_GROUP_USER_OWN % user_id, group_id)
|
|
10
|
|
-
|
|
11
|
|
-
|
|
12
|
|
-def get_tour_guide_own_group(user_id):
|
|
13
|
|
- """ 获取导游拥有的旅行团 """
|
|
14
|
|
- return r.get(TOUR_GUIDE_GROUP_USER_OWN % user_id)
|
|
15
|
|
-
|
|
16
|
|
-
|
|
17
|
|
-def del_tour_guide_own_group(user_id):
|
|
18
|
|
- """ 删除导游拥有的旅行团 """
|
|
19
|
|
- return r.delete(TOUR_GUIDE_GROUP_USER_OWN % user_id)
|
|
|
|
@@ -1,14 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from utils.redis.connect import r
|
|
4
|
|
-from utils.redis.rkeys import TOUR_GUIDE_GROUP_USER_BELONG
|
|
5
|
|
-
|
|
6
|
|
-
|
|
7
|
|
-def set_tour_user_belong_group(user_id, group_id):
|
|
8
|
|
- """ 设置旅行团成员所属的旅行团 """
|
|
9
|
|
- r.set(TOUR_GUIDE_GROUP_USER_BELONG % user_id, group_id)
|
|
10
|
|
-
|
|
11
|
|
-
|
|
12
|
|
-def get_tour_user_belong_group(user_id):
|
|
13
|
|
- """ 获取旅行团成员所属的旅行团 """
|
|
14
|
|
- return r.get(TOUR_GUIDE_GROUP_USER_BELONG % user_id)
|
|
|
|
@@ -1,22 +0,0 @@
|
|
1
|
|
-# -*- coding: utf-8 -*-
|
|
2
|
|
-
|
|
3
|
|
-from django_curtail_uuid import CurtailUUID
|
|
4
|
|
-
|
|
5
|
|
-from photo.models import UUIDInfo
|
|
6
|
|
-from utils.redis.connect import r
|
|
7
|
|
-from utils.redis.rkeys import UUID_LIST
|
|
8
|
|
-
|
|
9
|
|
-
|
|
10
|
|
-def generate_uuid():
|
|
11
|
|
- uuid = CurtailUUID.uuid(UUIDInfo)
|
|
12
|
|
- UUIDInfo.objects.create(uuid=uuid)
|
|
13
|
|
- return uuid
|
|
14
|
|
-
|
|
15
|
|
-
|
|
16
|
|
-def generate_uuids(num=1000):
|
|
17
|
|
- uuids = [generate_uuid() for i in range(num)]
|
|
18
|
|
- r.rpush(UUID_LIST, *uuids)
|
|
19
|
|
-
|
|
20
|
|
-
|
|
21
|
|
-def update_uuids(lensman_id, uuids):
|
|
22
|
|
- UUIDInfo.objects.filter(uuid__in=uuids).update(lensman_id=lensman_id, status=False)
|