EquipmentStatus.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: Ansjer
  7. @software: PyCharm
  8. @DATE: 2018/6/7 9:27
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: EquipmentStat.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. import base64
  15. import urllib.parse
  16. from Ansjer.config import BASE_DIR
  17. from django.http import JsonResponse
  18. from django.views.decorators.csrf import csrf_exempt
  19. import ipdb
  20. from Model.models import Device_Info
  21. from Object.ResponseObject import ResponseObject
  22. from Service.CommonService import CommonService
  23. '''
  24. http://192.168.136.45:8077/device/online?UID=C2887N9EBS87ZAT1111A
  25. http://192.168.136.45:8077/device/offline?UID=C2887N9EBS87ZAT1111A
  26. http://192.168.136.45:8077/device/updateIP?UID=C2887N9EBS87ZAT1111A?ip=190.9.194.216
  27. '''
  28. @csrf_exempt
  29. def EquipmentOnline(request):
  30. response = ResponseObject()
  31. if request.method == 'GET':
  32. request.encoding = 'utf-8'
  33. UID = request.GET.get('UID', None)
  34. if request.method == 'POST':
  35. request.encoding = 'utf-8'
  36. UID = request.POST.get('UID', None)
  37. qs = Device_Info.objects.filter(UID=UID)
  38. if not qs.exists():
  39. return response.json(173)
  40. @csrf_exempt
  41. def EquipmentOffline(request):
  42. response = ResponseObject()
  43. if request.method == 'GET':
  44. request.encoding = 'utf-8'
  45. UID = request.GET.get('UID', None)
  46. if request.method == 'POST':
  47. request.encoding = 'utf-8'
  48. UID = request.POST.get('UID', None)
  49. qs = Device_Info.objects.filter(UID=UID)
  50. if not qs.exists():
  51. return response.json(173)
  52. try:
  53. qs.update(Online=False)
  54. except Exception as e:
  55. print(repr(e))
  56. return response.json(0)
  57. @csrf_exempt
  58. def updateIP(request):
  59. response = ResponseObject()
  60. if request.method == 'GET':
  61. request.encoding = 'utf-8'
  62. request_dict = request.GET
  63. if request.method == 'POST':
  64. request.encoding = 'utf-8'
  65. request_dict = request.POST
  66. UID = request_dict.get('UID', None)
  67. ip = request_dict.get('ip', None)
  68. qs = Device_Info.objects.filter(UID=UID)
  69. if not qs.exists():
  70. return response.json(173)
  71. area = ''
  72. try:
  73. area = CommonService.getAddr(ip=ip)
  74. qs.update(ip=ip, area=area)
  75. except Exception as e:
  76. print(repr(e))
  77. return response.json(0, {'area': area})
  78. def getTZ(request):
  79. request.encoding = 'utf-8'
  80. if request.method == 'GET':
  81. request_dict = request.GET
  82. elif request.method == 'POST':
  83. request_dict = request.POST
  84. else:
  85. return JsonResponse(status=200, data={'code': 403, 'msg': '接口请求方法错误'})
  86. c = request_dict.get('etk', None)
  87. ip = request_dict.get('ip',None)
  88. lang = request_dict.get('lang',None)
  89. if c:
  90. c = base64.b64decode(c)
  91. c = c[2:-2]
  92. c = urllib.parse.unquote(c.decode('utf-8'))
  93. c = base64.b64decode(c)
  94. uid = c.decode('utf-8')
  95. if len(uid) == 20:
  96. db = ipdb.City(BASE_DIR + "/DB/mydata4vipday2.ipdb")
  97. info = db.find_map(ip, lang)
  98. # tz = info.timezone
  99. # of = info.utc_offset
  100. # from var_dump import var_dump
  101. # var_dump(info)
  102. return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': info})
  103. else:
  104. return JsonResponse(status=200,data={'code':404,'msg':'令牌错误'})
  105. else:
  106. return JsonResponse(status=200, data={'code': 444, 'msg': '接口参数错误 etk'})