# add log statistic history api

This commit is contained in:
xianfuxing 2018-08-13 21:29:45 +08:00
parent 4c22983f23
commit 63e1588c8c
4 changed files with 17 additions and 4 deletions

View File

@ -76,7 +76,7 @@ class LogHistorySerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = MosqPostStatistic model = MosqPostStatistic
field = [ fields = [
'date',
'increment', 'increment',
'date'
] ]

View File

@ -3,7 +3,8 @@ from .views import (
DeviceLogListAPIView, DeviceLogListAPIView,
DeviceInfoListAPIView, DeviceInfoListAPIView,
DeviceLogStatisticAPIView, DeviceLogStatisticAPIView,
DeviceInfoStatisticAPIView DeviceInfoStatisticAPIView,
LogHistoryListAPIView
) )
@ -12,5 +13,6 @@ urlpatterns = [
path('logs/', DeviceLogListAPIView.as_view(), name='logs'), path('logs/', DeviceLogListAPIView.as_view(), name='logs'),
path('device/', DeviceInfoListAPIView.as_view(), name='device'), path('device/', DeviceInfoListAPIView.as_view(), name='device'),
path('logs/statistic/', DeviceLogStatisticAPIView.as_view(), name='logs-statistic'), path('logs/statistic/', DeviceLogStatisticAPIView.as_view(), name='logs-statistic'),
path('logs/statistic/history/', LogHistoryListAPIView.as_view(), name='logs-statistic-history'),
path('device/statistic/', DeviceInfoStatisticAPIView.as_view(), name='device-statistic'), path('device/statistic/', DeviceInfoStatisticAPIView.as_view(), name='device-statistic'),
] ]

View File

@ -16,8 +16,10 @@ from mosquito.api.pagination import PostLimitOffsetPagination, PostPageNumberPag
from .serializers import ( from .serializers import (
DeviceCountSerializer, DeviceCountSerializer,
DeviceInfoSerializer, DeviceInfoSerializer,
LogHistorySerializer,
) )
from ..models import DeviceCount, DeviceInfo from ..models import DeviceCount, DeviceInfo
from mosquito.models import MosqPostStatistic
class DeviceLogListAPIView(ListAPIView): class DeviceLogListAPIView(ListAPIView):
@ -79,3 +81,12 @@ class DeviceInfoStatisticAPIView(APIView):
offline_count = DeviceInfo.objects.filter(online=0).count() offline_count = DeviceInfo.objects.filter(online=0).count()
data = {'online_count': online_count, 'offline_count': offline_count} data = {'online_count': online_count, 'offline_count': offline_count}
return Response(data) return Response(data)
class LogHistoryListAPIView(ListAPIView):
serializer_class = LogHistorySerializer
permission_classes = [IsAuthenticated]
filter_backends = [SearchFilter, OrderingFilter]
pagination_class = PostLimitOffsetPagination
search_fields = ['date']
queryset = MosqPostStatistic.objects.all().order_by('-date')

View File

@ -3,7 +3,7 @@ from rest_framework.pagination import LimitOffsetPagination, PageNumberPaginatio
class PostLimitOffsetPagination(LimitOffsetPagination): class PostLimitOffsetPagination(LimitOffsetPagination):
max_limit = 20 max_limit = 20
default_limit = 10 default_limit = 7
class PostPageNumberPagination(PageNumberPagination): class PostPageNumberPagination(PageNumberPagination):