123456789101112131415161718192021222324252627282930 |
- from rest_framework.views import APIView
- from rest_framework.response import Response
- from rest_framework import status
- from .models import HealthRecord
- from .serializers import HealthRecordSerializer
- from .services.mset_service import MSETService
- class DeviceHealthView(APIView):
- """设备健康度评估"""
- def post(self, request, device_id):
- service = MSETService()
- try:
- score, weights = service.evaluate_health(request.data)
- record = HealthRecord.objects.create(
- device_id=device_id,
- subsystem=request.data.get('subsystem'),
- score=score,
- weights=weights
- )
- serializer = HealthRecordSerializer(record)
- return Response(serializer.data, status=status.HTTP_201_CREATED)
- except Exception as e:
- return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST)
- class HealthHistoryView(APIView):
- """健康度历史查询"""
- def get(self, request, device_id):
- records = HealthRecord.objects.filter(device_id=device_id).order_by('-timestamp')
- serializer = HealthRecordSerializer(records, many=True)
- return Response(serializer.data)
|