|
@@ -286,3 +286,30 @@ class UserDeviceService:
|
|
|
except Exception as e:
|
|
|
LOGGER.info('异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
return channels
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def update_device_channel(uid):
|
|
|
+ """
|
|
|
+ UID通道同步更新
|
|
|
+ @param uid: 设备UID
|
|
|
+ @return: True | False
|
|
|
+ """
|
|
|
+ uid_set_qs = UidSetModel.objects.filter(uid=uid).values('id', 'channel')
|
|
|
+ if not uid_set_qs.exists():
|
|
|
+ return False
|
|
|
+ uid_set_id = uid_set_qs[0]['id']
|
|
|
+ channel_index = uid_set_qs[0]['channel']
|
|
|
+ uid_channel_qs = UidChannelSetModel.objects.filter(uid_id=uid_set_id)
|
|
|
+ if uid_channel_qs.exists() and uid_channel_qs.count() != channel_index:
|
|
|
+ uid_channel_list = []
|
|
|
+ channels = [val['channel'] for val in uid_channel_qs]
|
|
|
+ for i in range(1, channel_index + 1):
|
|
|
+ if i in channels:
|
|
|
+ continue
|
|
|
+ channel_name = 'channel' + str(i) # channel1,channel2...
|
|
|
+ UidChannelSet = UidChannelSetModel(uid_id=uid_set_id, channel=i, channel_name=channel_name)
|
|
|
+ uid_channel_list.append(UidChannelSet)
|
|
|
+ if not uid_channel_list:
|
|
|
+ return True
|
|
|
+ UidChannelSetModel.objects.bulk_create(uid_channel_list)
|
|
|
+ return True
|