Jelajahi Sumber

新增上报类型字段

locky 3 bulan lalu
induk
melakukan
d792090c0f
2 mengubah file dengan 13 tambahan dan 8 penghapusan
  1. 11 8
      AdminController/LogManagementController.py
  2. 2 0
      Model/models.py

+ 11 - 8
AdminController/LogManagementController.py

@@ -544,7 +544,7 @@ class LogManagementView(View):
         device_type = request_dict.get('deviceType', None)
         version = request_dict.get('version', None)
         event_code = request_dict.get('eventCode', None)
-        event = request_dict.get('event', None)
+        event_type = request_dict.get('eventType', None)
         page_no = request_dict.get('pageNo', None)
         page_size = request_dict.get('pageSize', None)
 
@@ -568,19 +568,19 @@ class LogManagementView(View):
                 # 处理多个eventCode参数
                 event_codes = [int(t.strip()) for t in event_code.split(',') if t.strip().isdigit()]
                 query &= Q(event_code__in=event_codes)
-            if event:
+            if event_type:
                 # 通过event查询对应的event_code
                 event_codes_from_event = AbnormalEventCode.objects.filter(
-                    event__in=event.split(',')
+                    event_type__in=event_type.split(',')
                 ).values_list('event_code', flat=True)
                 if event_codes_from_event.exists():
                     query &= Q(event_code__in=event_codes_from_event)
             
             abnormal_events = AbnormalEvent.objects.filter(query)
             count = abnormal_events.count()
-            event_list = abnormal_events.order_by('-created_time').values(
+            event_list = abnormal_events.order_by('-event_time').values(
                 'id', 'uid', 'device_type', 'version', 'event_code',
-                'content', 'event_time', 'created_time'
+                'content', 'report_type', 'event_time', 'created_time'
             )[(page - 1) * line:page * line]
             
             # 查询device_type对应的name,事件编码对应的事件
@@ -594,6 +594,7 @@ class LogManagementView(View):
                 abnormal_event_code = AbnormalEventCode.objects.filter(event_code=event['event_code']).first()
                 if abnormal_event_code:
                     event['event'] = abnormal_event_code.event
+                    event['event_type'] = abnormal_event_code.event_type
                 else:
                     event['event'] = ''
             
@@ -604,8 +605,10 @@ class LogManagementView(View):
     @staticmethod
     def getAbnormalEventValue(response):
         try:
-            abnormal_event_code = AbnormalEventCode.objects.all().values('event_code', 'event')
-            print(list(abnormal_event_code))
-            return response.json(0, {'list': list(abnormal_event_code)})
+            event_types = AbnormalEventCode.objects.values_list('event_type', flat=True)
+            # 使用Python的set去重
+            seen = set()
+            unique_event_types = [x for x in event_types if x not in seen and not seen.add(x)]
+            return response.json(0, {'list': unique_event_types})
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))

+ 2 - 0
Model/models.py

@@ -5741,6 +5741,8 @@ 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: 填写上报
+    report_type = models.IntegerField(default=0, verbose_name='上报类型')
     event_time = models.IntegerField(default=0, verbose_name='异常事件触发时间')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')