Browse Source

优化查询异常事件接口

locky 3 tháng trước cách đây
mục cha
commit
abf646b252
2 tập tin đã thay đổi với 9 bổ sung6 xóa
  1. 8 5
      AdminController/LogManagementController.py
  2. 1 1
      Model/models.py

+ 8 - 5
AdminController/LogManagementController.py

@@ -543,8 +543,9 @@ class LogManagementView(View):
         uid = request_dict.get('uid', None)
         device_type = request_dict.get('deviceType', None)
         version = request_dict.get('version', None)
-        event_code = request_dict.get('eventCode', None)
         event_type = request_dict.get('eventType', None)
+        report_type = request_dict.get('reportType', None)
+        event_time_range = request_dict.getlist('eventTimeRange[]', None)
         page_no = request_dict.get('pageNo', None)
         page_size = request_dict.get('pageSize', None)
 
@@ -564,10 +565,12 @@ class LogManagementView(View):
                 query &= Q(device_type__in=device_types)
             if version:
                 query &= Q(version=version)
-            if event_code:
-                # 处理多个eventCode参数
-                event_codes = [int(t.strip()) for t in event_code.split(',') if t.strip().isdigit()]
-                query &= Q(event_code__in=event_codes)
+            if report_type:
+                query &= Q(report_type=int(report_type))
+            if event_time_range:
+                start_time, end_time = int(
+                    event_time_range[0][:-3]), int(event_time_range[1][:-3])
+                query &= Q(event_time__gte=start_time, event_time__lte=end_time)
             if event_type:
                 # 通过event查询对应的event_code
                 event_codes_from_event = AbnormalEventCode.objects.filter(

+ 1 - 1
Model/models.py

@@ -5741,7 +5741,7 @@ class AbnormalEvent(models.Model):
     version = models.CharField(default='', max_length=64, verbose_name='设备版本')
     event_code = models.CharField(default='', max_length=16, verbose_name='异常事件编码')
     content = models.TextField(default='', verbose_name='异常内容')
-    # 上报类型, 0: 设备上报, 1: 填写上报
+    # 上报类型, 0: 自动上报, 1: 手动上报
     report_type = models.IntegerField(default=0, verbose_name='上报类型')
     event_time = models.IntegerField(default=0, verbose_name='异常事件触发时间')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')