SysManage.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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/8 9:10
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: SysManage.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. import os
  15. from django.http import HttpResponse
  16. from django.views.decorators.csrf import csrf_exempt
  17. from django.views.generic.base import View
  18. from Ansjer.config import BASE_DIR
  19. from Object.ResponseObject import ResponseObject
  20. from Object.TokenObject import TokenObject
  21. from Service.ModelService import ModelService
  22. from Model.models import SysMsgModel, Equipment_Info, Device_Info
  23. @csrf_exempt
  24. def updateLog(request):
  25. response = ResponseObject()
  26. request.encoding = 'utf-8'
  27. if request.method == 'GET':
  28. request_dict = request.GET
  29. if request.method == 'POST':
  30. request_dict = request.POST
  31. else:
  32. response.json(404)
  33. token = request_dict.get('token', None)
  34. content = request_dict.get('content', None)
  35. if not content:
  36. return response.json(444, 'content')
  37. tko = TokenObject(token)
  38. response.lang = tko.lang
  39. if tko.code != 0:
  40. return response.json(tko.code)
  41. userID = tko.userID
  42. own_permission = ModelService.check_perm(userID=userID, permID=50)
  43. if own_permission is not True:
  44. return response.json(404)
  45. file_path = os.path.join(BASE_DIR, 'static/Help/version.txt')
  46. try:
  47. with open(file_path, "w", encoding="utf-8") as f:
  48. f.write(content)
  49. except Exception as e:
  50. pass
  51. return response.json(0)
  52. class getStatView(View):
  53. def post(self, request, *args, **kwargs):
  54. request.encoding = 'utf-8'
  55. filePath = kwargs.get('filePath', None)
  56. filePath.encode(encoding='utf-8', errors='strict')
  57. response = ResponseObject()
  58. return self.getFile(filePath, response)
  59. def get(self, request, *args, **kwargs):
  60. request.encoding = 'gb2312'
  61. filePath = kwargs.get('filePath', None)
  62. response = ResponseObject()
  63. filePath.encode(encoding='gb2312', errors='strict')
  64. return self.getFile(filePath, response)
  65. def getFile(self, filePath, response):
  66. if filePath:
  67. pass
  68. else:
  69. return response.json(800)
  70. fullPath = os.path.join(BASE_DIR, filePath).replace('\\', '/')
  71. from var_dump import var_dump
  72. var_dump(fullPath)
  73. if os.path.isfile(fullPath):
  74. try:
  75. Imagedata = open(fullPath, 'rb').read()
  76. except Exception as e:
  77. return response.json(906, repr(e))
  78. else:
  79. return HttpResponse(Imagedata, content_type="image/jpeg")
  80. else:
  81. return response.json(907)
  82. def initMsgFunc(request):
  83. response = ResponseObject()
  84. request.encoding = 'utf-8'
  85. if request.method == 'GET':
  86. request_dict = request.GET
  87. if request.method == 'POST':
  88. request_dict = request.POST
  89. else:
  90. response.json(404)
  91. token = request_dict.get('token', None)
  92. tko = TokenObject(token)
  93. response.lang = tko.lang
  94. if tko.code == 0:
  95. userID = tko.userID
  96. sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()
  97. eq_count = Equipment_Info.objects.filter(userID_id=userID).filter(status=False).count()
  98. rq_count = Equipment_Info.objects.filter(userID_id=userID).filter(eventType=57, status=False,).count()
  99. uid_reset_count = Device_Info.objects.filter(userID_id=userID, isExist=2).count()
  100. res = {
  101. 'sm_count': sm_count, # 系统消息未读数量
  102. 'eq_count': eq_count, # 未读消息总数
  103. 'rq_count': rq_count, # 人形检测总数
  104. 'uid_reset_count': uid_reset_count,# 复位的设备数量
  105. }
  106. return response.json(0, res)
  107. else:
  108. return response.json(tko.code)