main
kongfp 7 months ago
parent 6a1552831a
commit 951caadfb1

@ -29,6 +29,7 @@ urlpatterns = [
path('warning_statistics/', views.WarningStatisticsModelViewSet.as_view({'post': 'create', "get": "list"})), path('warning_statistics/', views.WarningStatisticsModelViewSet.as_view({'post': 'create', "get": "list"})),
path('get_warning_names/', views.WarningStatisticsModelViewSet.as_view({"get": "get_warning_names"})), path('get_warning_names/', views.WarningStatisticsModelViewSet.as_view({"get": "get_warning_names"})),
path('get_warning_types/', views.WarningStatisticsModelViewSet.as_view({"get": "get_warning_types"})),
path('compute_config/', views.ComputeConfigModelViewSet.as_view({'post': 'create', "get": "list"})), path('compute_config/', views.ComputeConfigModelViewSet.as_view({'post': 'create', "get": "list"})),
path('files/', views.FilesModelViewSet.as_view({'post': 'create', "get": "list", "delete": "destroy"})), path('files/', views.FilesModelViewSet.as_view({'post': 'create', "get": "list", "delete": "destroy"})),

@ -1,3 +1,4 @@
import datetime
import json import json
import logging import logging
import random import random
@ -1015,7 +1016,7 @@ class WarningStatisticsModelViewSet(ModelViewSet):
device_suid = data.get("device_suid") device_suid = data.get("device_suid")
warning_type = data.get("warning_type") warning_type = data.get("warning_type")
start_trigger_time = data.get("start_time") start_trigger_time = data.get("start_time")
end_trigger_time = data.get("end_time") # end_trigger_time = data.get("end_time")
if warning_level: if warning_level:
self.queryset = self.queryset.filter(warning_level=warning_level) self.queryset = self.queryset.filter(warning_level=warning_level)
@ -1045,7 +1046,16 @@ class WarningStatisticsModelViewSet(ModelViewSet):
self.queryset = self.queryset.filter(warning_type=warning_type) self.queryset = self.queryset.filter(warning_type=warning_type)
if start_trigger_time: if start_trigger_time:
self.queryset = self.queryset.filter(trigger_time__in=[start_trigger_time, end_trigger_time])
try:
start_datetime = datetime.datetime.strptime(start_trigger_time, "%Y-%m-%d")
except Exception as e:
logger.error(f"查询告警时间格式报错{e},参数为:{start_trigger_time}")
return Response({"data": None, "msg": "时间格式不正确", "success": False, "status": 400})
end_datetime = start_datetime + datetime.timedelta(days=1)
self.queryset = self.queryset.filter(trigger_time__range=[start_datetime, end_datetime])
if not (obj_id or obj_suid): if not (obj_id or obj_suid):
return Response({ return Response({
@ -1074,10 +1084,20 @@ class WarningStatisticsModelViewSet(ModelViewSet):
}) })
def get_warning_names(self, request, *args, **kwargs): def get_warning_names(self, request, *args, **kwargs):
warning_names = self.queryset.values("warning_name").distinct() warning_names = self.queryset.values_list("warning_name", flat=True).order_by("warning_name").distinct()
return Response({
"data": warning_names,
"msg": None,
"success": True,
"status": 200
})
def get_warning_types(self, request, *args, **kwargs):
warning_types = self.queryset.values_list('warning_type', flat=True).order_by("warning_type").distinct()
return Response({ return Response({
"data": [tmp.get("warning_name") for tmp in warning_names], "data": warning_types,
"msg": None, "msg": None,
"success": True, "success": True,
"status": 200 "status": 200

Loading…
Cancel
Save