|
@@ -11,7 +11,7 @@ import itertools
|
|
import logging
|
|
import logging
|
|
import time
|
|
import time
|
|
|
|
|
|
-from django.db.models import Value, CharField
|
|
|
|
|
|
+from django.db.models import Value, CharField, Q
|
|
|
|
|
|
from Model.models import EquipmentInfoMonday, EquipmentInfoTuesday, EquipmentInfoWednesday, EquipmentInfoThursday, \
|
|
from Model.models import EquipmentInfoMonday, EquipmentInfoTuesday, EquipmentInfoWednesday, EquipmentInfoThursday, \
|
|
EquipmentInfoFriday, EquipmentInfoSaturday, EquipmentInfoSunday
|
|
EquipmentInfoFriday, EquipmentInfoSaturday, EquipmentInfoSunday
|
|
@@ -169,9 +169,10 @@ class EquipmentInfoService:
|
|
if event_type:
|
|
if event_type:
|
|
# 多类型查询
|
|
# 多类型查询
|
|
eventTypeList = cls.get_comb_event_type(event_type)
|
|
eventTypeList = cls.get_comb_event_type(event_type)
|
|
- eventTypeList += cls.get_combo_type_bins(event_type)
|
|
|
|
|
|
+ # eventTypeList += cls.get_combo_type_bins(event_type)
|
|
eventTypeList = list(set(eventTypeList))
|
|
eventTypeList = list(set(eventTypeList))
|
|
- qs = qs.filter(event_type__in=eventTypeList)
|
|
|
|
|
|
+ tags = cls.get_event_tag(event_type)
|
|
|
|
+ qs = qs.filter(Q(event_type__in=eventTypeList) | Q(event_tag__regex=tags))
|
|
if start_time and end_time:
|
|
if start_time and end_time:
|
|
qs = qs.filter(event_time__range=(start_time, end_time))
|
|
qs = qs.filter(event_time__range=(start_time, end_time))
|
|
else:
|
|
else:
|
|
@@ -424,3 +425,61 @@ class EquipmentInfoService:
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print('推送错误异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
print('推送错误异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
return res_list
|
|
return res_list
|
|
|
|
+
|
|
|
|
+ @staticmethod
|
|
|
|
+ def get_event_tag(event_type):
|
|
|
|
+ """
|
|
|
|
+ 获取标签用于筛选推送消息
|
|
|
|
+ """
|
|
|
|
+ if ',' in event_type:
|
|
|
|
+ tags = ''
|
|
|
|
+ res_list = event_type.split(',')
|
|
|
|
+ tag_size = len(res_list)
|
|
|
|
+ for i, item in enumerate(res_list):
|
|
|
|
+ tags += ',' + str(item) + ','
|
|
|
|
+ if i < (tag_size - 1):
|
|
|
|
+ tags += '|'
|
|
|
|
+ return tags
|
|
|
|
+
|
|
|
|
+ else:
|
|
|
|
+ return ',' + str(event_type) + ','
|
|
|
|
+
|
|
|
|
+ @staticmethod
|
|
|
|
+ def update_equipment_answer_status(user_id, uid, event_time):
|
|
|
|
+ """
|
|
|
|
+ 更新一键通话消息状态
|
|
|
|
+ @param user_id: 用户id
|
|
|
|
+ @param uid: uid
|
|
|
|
+ @param event_time: 事件时间
|
|
|
|
+ @return updated_flag: bool
|
|
|
|
+ """
|
|
|
|
+ updated_flag = False
|
|
|
|
+ updated = EquipmentInfoMonday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ updated = EquipmentInfoTuesday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ updated = EquipmentInfoWednesday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ updated = EquipmentInfoThursday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ updated = EquipmentInfoFriday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ updated = EquipmentInfoSaturday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ updated = EquipmentInfoSunday.objects.filter(device_user_id=user_id, device_uid=uid, event_time=event_time,
|
|
|
|
+ event_type=606).update(answer_status=1)
|
|
|
|
+ if updated:
|
|
|
|
+ updated_flag = True
|
|
|
|
+ return updated_flag
|