| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from rest_framework import serializers
- import time
- # import ast
- # from .models import Device
- class SearchEquipSerializer(serializers.Serializer):
- device_id = serializers.CharField(help_text="搜索设备号", required=True)
- isfullId = serializers.IntegerField(help_text="是否完整搜索固定值1", required=False)
- def validate_device_id(self, value):
- value = value.strip()
- if len(value) < 4:
- raise serializers.ValidationError("设备号长度不能小于4位")
- else:
- return value
- class DeviceDetailSerializer(serializers.Serializer):
- device_id = serializers.CharField(help_text="设备号", required=True)
- start_timestamp = serializers.IntegerField(help_text="开始时间戳(秒级)", required=False)
- end_timestamp = serializers.IntegerField(help_text="结束时间戳(秒级)", required=False)
- page_start = serializers.IntegerField(help_text="起始", required=False)
- page_size = serializers.IntegerField(help_text="页长", required=False)
- def validate_page_size(self, value):
- if value > 100:
- raise serializers.ValidationError("超出设置阈值100")
- else:
- return value
-
- def validate_page_start(self, value):
- if value < 0:
- raise serializers.ValidationError("page_start不能小于0")
- else:
- return value
-
- def validate_page_size(self, value):
- if value < 1:
- raise serializers.ValidationError("page_start不能小于1")
- else:
- return value
- def validate(self, attrs):
- if attrs.get("start_timestamp") and attrs.get("end_timestamp"):
- if attrs["start_timestamp"] > attrs["end_timestamp"]:
- raise serializers.ValidationError({"timestamp":"结束时间不能小于开始时间"})
- elif not attrs.get("start_timestamp") and attrs.get("end_timestamp"):
- raise serializers.ValidationError({"start_timestamp":"结束时间存在,开始时间必须存在"})
- elif attrs.get("start_timestamp") and not attrs.get("end_timestamp"):
- raise serializers.ValidationError({"end_timestamp":"开始时间存在,结束时间必须存在"})
- elif not attrs.get("start_timestamp") and not attrs.get("end_timestamp"):
- attrs["start_timestamp"] = 0
- attrs["end_timestamp"] = 0
- if not attrs.get("page_start",""):
- attrs["page_start"] = 0
- if not attrs.get("page_size",""):
- attrs["page_size"] = 10
- return attrs
|