|
@@ -18,7 +18,7 @@ import requests
|
|
|
|
|
|
from AnsjerPush.Config.aiConfig import DEVICE_EVENT_TYPE, ALGORITHM_COMBO_TYPES
|
|
from AnsjerPush.Config.aiConfig import DEVICE_EVENT_TYPE, ALGORITHM_COMBO_TYPES
|
|
from AnsjerPush.config import CONFIG_INFO, CONFIG_CN, MULTI_CHANNEL_TYPE_LIST, SYS_EVENT_TYPE_LIST, AWS_ACCESS_KEY_ID, \
|
|
from AnsjerPush.config import CONFIG_INFO, CONFIG_CN, MULTI_CHANNEL_TYPE_LIST, SYS_EVENT_TYPE_LIST, AWS_ACCESS_KEY_ID, \
|
|
- AWS_SECRET_ACCESS_KEY, EVENT_DICT, EVENT_DICT_CN
|
|
|
|
|
|
+ AWS_SECRET_ACCESS_KEY, EVENT_DICT, EVENT_DICT_CN, CONFIG_US
|
|
from AnsjerPush.config import XMPUSH_CONFIG, OPPOPUSH_CONFIG
|
|
from AnsjerPush.config import XMPUSH_CONFIG, OPPOPUSH_CONFIG
|
|
from Model.models import UidPushModel, SysMsgModel, DeviceSharePermission, DeviceChannelUserSet, \
|
|
from Model.models import UidPushModel, SysMsgModel, DeviceSharePermission, DeviceChannelUserSet, \
|
|
DeviceChannelUserPermission, UidSetModel, Device_Info
|
|
DeviceChannelUserPermission, UidSetModel, Device_Info
|
|
@@ -241,20 +241,30 @@ class DevicePushService:
|
|
if save_equipment_info:
|
|
if save_equipment_info:
|
|
equipment_info_list = []
|
|
equipment_info_list = []
|
|
equipment_info_model = EQUIPMENT_INFO_DICT[equipment_info_key]
|
|
equipment_info_model = EQUIPMENT_INFO_DICT[equipment_info_key]
|
|
- # 缓存数据多于100条,批量保存前100条,否则保存全部
|
|
|
|
|
|
+
|
|
|
|
+ end = 0
|
|
equipment_info_len = redis_obj.llen(equipment_info_key)
|
|
equipment_info_len = redis_obj.llen(equipment_info_key)
|
|
- end = 99 if equipment_info_len > 100 else equipment_info_len - 1
|
|
|
|
- equipment_info_redis_list = redis_obj.lrange(equipment_info_key, 0, end)
|
|
|
|
- redis_obj.ltrim(equipment_info_key, end+1, -1)
|
|
|
|
-
|
|
|
|
- for equipment_info in equipment_info_redis_list:
|
|
|
|
- equipment_info_data = eval(equipment_info)
|
|
|
|
- # 设备昵称存在表情,解码utf-8
|
|
|
|
- if equipment_info_data.get('device_nick_name') is not None:
|
|
|
|
- equipment_info_data['device_nick_name'] = equipment_info_data['device_nick_name'].\
|
|
|
|
- encode('UTF-8', 'ignore').decode('UTF-8')
|
|
|
|
- equipment_info_list.append(equipment_info_model(**equipment_info_data))
|
|
|
|
- equipment_info_model.objects.bulk_create(equipment_info_list)
|
|
|
|
|
|
+ if CONFIG_INFO == CONFIG_US:
|
|
|
|
+ # 美洲服批量保存300条数据
|
|
|
|
+ if equipment_info_len >= 300:
|
|
|
|
+ end = 299
|
|
|
|
+ else:
|
|
|
|
+ # 缓存数据多于100条,批量保存前100条,否则保存全部
|
|
|
|
+ equipment_info_len = redis_obj.llen(equipment_info_key)
|
|
|
|
+ end = 99 if equipment_info_len > 100 else equipment_info_len - 1
|
|
|
|
+
|
|
|
|
+ if end != 0:
|
|
|
|
+ equipment_info_redis_list = redis_obj.lrange(equipment_info_key, 0, end)
|
|
|
|
+ redis_obj.ltrim(equipment_info_key, end+1, -1)
|
|
|
|
+
|
|
|
|
+ for equipment_info in equipment_info_redis_list:
|
|
|
|
+ equipment_info_data = eval(equipment_info)
|
|
|
|
+ # 设备昵称存在表情,解码utf-8
|
|
|
|
+ if equipment_info_data.get('device_nick_name') is not None:
|
|
|
|
+ equipment_info_data['device_nick_name'] = equipment_info_data['device_nick_name'].\
|
|
|
|
+ encode('UTF-8', 'ignore').decode('UTF-8')
|
|
|
|
+ equipment_info_list.append(equipment_info_model(**equipment_info_data))
|
|
|
|
+ equipment_info_model.objects.bulk_create(equipment_info_list)
|
|
|
|
|
|
return True
|
|
return True
|
|
except Exception as e:
|
|
except Exception as e:
|