views.py 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. from rest_framework.views import APIView
  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(APIView):
  8. def post(self, request):
  9. serializer = SearchEquipSerializer(data=request.data)
  10. serializer.is_valid(raise_exception=True)
  11. request_data = serializer.validated_data
  12. d_id = request_data.get("device_id")
  13. if request_data.get("isfullId"):
  14. bigdata_res = requests.post("http://8.136.98.49:8002/search/equip",data={"device_id":d_id,"isfullId":"1"})
  15. siqing_res = requests.post("http://www.yfzhwlw.com/search/equip",data={"device_id":d_id,"isfullId":"1"})
  16. else:
  17. bigdata_res = requests.post("http://8.136.98.49:8002/search/equip",data={"device_id":d_id})
  18. siqing_res = requests.post("http://www.yfzhwlw.com/search/equip",data={"device_id":d_id})
  19. django_data = json.loads(bigdata_res.content.decode()).get("data",[])
  20. siqing_data = json.loads(siqing_res.content.decode()).get("data",[])
  21. data = []
  22. data.extend(django_data)
  23. data.extend(siqing_data)
  24. data = sorted(data, key=lambda e: e.__getitem__('uptime'), reverse=True)
  25. data = sorted(data, key=lambda e: e.__getitem__('device_id'), reverse=True)
  26. return Response(data)