| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | #!/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 osimport timefrom django.http import HttpResponsefrom django.views.decorators.csrf import csrf_exemptfrom django.views.generic.base import Viewfrom Ansjer.config import BASE_DIRfrom Model.models import SysMsgModel, Device_Info, Ai_Push_Infofrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObjectfrom Service.ModelService import ModelService@csrf_exemptdef 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 EquipmentInfoServicedef 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:        userID = tko.userID        seven_days_ago = int(time.time()) - 3600 * 24 * 7  # 过滤七天前数据        sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()        # eq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()        # rq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, eventType=57,        # status=False).count()        sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()        # eq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()        # rq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, eventType=57,        # status=False).count()        eq_count = 0        rq_count = 0        for i in range(1, 8):            eq_qs = EquipmentInfoService.get_equipment_info_model('', i)            eq_qs = eq_qs.filter(device_user_id=userID, event_time__gt=seven_days_ago, status=False)            if eq_qs.exists():                eq_count += eq_qs.count()                rq_count += eq_qs.filter(event_type=57).count()        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)    else:        return response.json(tko.code)
 |