123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
- @AUTHOR: ASJRD018
- @NAME: Ansjer
- @software: PyCharm
- @DATE: 2018/6/8 9:10
- @Version: python3.6
- @MODIFY DECORD:ansjer dev
- @file: SysManage.py
- @Contact: chanjunkai@163.com
- """
- import os
- import time
- from django.http import HttpResponse
- from django.views.decorators.csrf import csrf_exempt
- from django.views.generic.base import View
- from Ansjer.config import BASE_DIR
- from Model.models import SysMsgModel, Device_Info, Ai_Push_Info
- from Object.ResponseObject import ResponseObject
- from Object.TokenObject import TokenObject
- from Service.ModelService import ModelService
- @csrf_exempt
- def updateLog(request):
- response = ResponseObject()
- request.encoding = 'utf-8'
- if request.method == 'GET':
- request_dict = request.GET
- if request.method == 'POST':
- request_dict = request.POST
- else:
- response.json(404)
- token = request_dict.get('token', None)
- content = request_dict.get('content', None)
- if not content:
- return response.json(444, 'content')
- tko = TokenObject(token)
- response.lang = tko.lang
- if tko.code != 0:
- return response.json(tko.code)
- userID = tko.userID
- own_permission = ModelService.check_perm(userID=userID, permID=50)
- if own_permission is not True:
- return response.json(404)
- file_path = os.path.join(BASE_DIR, 'static/Help/version.txt')
- try:
- with open(file_path, "w", encoding="utf-8") as f:
- f.write(content)
- except Exception as e:
- pass
- return response.json(0)
- class getStatView(View):
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- filePath = kwargs.get('filePath', None)
- filePath.encode(encoding='utf-8', errors='strict')
- response = ResponseObject()
- return self.getFile(filePath, response)
- def get(self, request, *args, **kwargs):
- request.encoding = 'gb2312'
- filePath = kwargs.get('filePath', None)
- response = ResponseObject()
- filePath.encode(encoding='gb2312', errors='strict')
- return self.getFile(filePath, response)
- def getFile(self, filePath, response):
- if filePath:
- pass
- else:
- return response.json(800)
- fullPath = os.path.join(BASE_DIR, filePath).replace('\\', '/')
- from var_dump import var_dump
- var_dump(fullPath)
- if os.path.isfile(fullPath):
- try:
- Imagedata = open(fullPath, 'rb').read()
- except Exception as e:
- return response.json(906, repr(e))
- else:
- return HttpResponse(Imagedata, content_type="image/jpeg")
- else:
- return response.json(907)
- from Service.EquipmentInfoService import EquipmentInfoService
- def initMsgFunc(request):
- response = ResponseObject()
- request.encoding = 'utf-8'
- if request.method == 'GET':
- request_dict = request.GET
- if request.method == 'POST':
- request_dict = request.POST
- else:
- response.json(404)
- token = request_dict.get('token', None)
- tko = TokenObject(token)
- response.lang = tko.lang
- if tko.code != 0:
- return response.json(tko.code)
- userID = tko.userID
- seven_days_ago = int(time.time()) - 3600 * 24 * 7 # 过滤七天前数据
- sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()
- kwargs = {
- 'device_user_id': userID,
- 'event_time__gt': seven_days_ago,
- 'status': 0
- }
- eq_count = EquipmentInfoService.count_equipment_info(**kwargs)
- # kwargs['event_type'] = 57
- # rq_count = EquipmentInfoService.count_equipment_info(**kwargs)
- rq_count = 0 # 影响查询性能APP未调用该属性,统一返回0
- ai_count = Ai_Push_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()
- uid_reset_count = Device_Info.objects.filter(userID_id=userID, isExist=2).count()
- res = {
- 'sm_count': sm_count, # 系统消息未读数量
- 'eq_count': eq_count, # 未读消息总数
- 'rq_count': rq_count, # 人形检测总数
- 'ai_count': ai_count, # AI消息总数
- 'uid_reset_count': uid_reset_count, # 复位的设备数量
- }
- return response.json(0, res)
|