views.py 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. from rest_framework.generics import GenericAPIView
  2. from rest_framework.response import Response
  3. import json
  4. import requests
  5. from .serializers import SearchEquipSerializer
  6. # Create your views here.
  7. class SearchEquip(GenericAPIView):
  8. serializer_class = SearchEquipSerializer
  9. def post(self, request):
  10. serializer = self.get_serializer(data=request.data)
  11. serializer.is_valid(raise_exception=True)
  12. request_data = serializer.validated_data
  13. d_id = request_data.get("device_id")
  14. if request_data.get("isfullId"):
  15. bigdata_res = requests.post("http://8.136.98.49:8002/search/equip",data={"device_id":d_id,"isfullId":"1"})
  16. siqing_res = requests.post("http://127.0.0.1:8001/search/equip",data={"device_id":d_id,"isfullId":"1"})
  17. else:
  18. bigdata_res = requests.post("http://8.136.98.49:8002/search/equip",data={"device_id":d_id})
  19. siqing_res = requests.post("http://127.0.0.1:8001/search/equip",data={"device_id":d_id})
  20. django_data = json.loads(bigdata_res.content.decode()).get("data",[])
  21. siqing_data = json.loads(siqing_res.content.decode()).get("data",[])
  22. data = []
  23. data.extend(django_data)
  24. data.extend(siqing_data)
  25. data = sorted(data, key=lambda e: e.__getitem__('uptime'), reverse=True)
  26. data = sorted(data, key=lambda e: e.__getitem__('device_id'), reverse=True)
  27. return Response(data)