|
@@ -1,15 +1,19 @@
|
|
|
import hashlib
|
|
|
import os
|
|
|
import uuid
|
|
|
+from wsgiref.util import FileWrapper
|
|
|
|
|
|
import simplejson as json
|
|
|
import time
|
|
|
+
|
|
|
+from django.http import HttpResponse
|
|
|
from django.utils import timezone
|
|
|
from django.utils.decorators import method_decorator
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
from Ansjer.config import BASE_DIR, SERVER_DOMAIN
|
|
|
+from Controller.OTAEquipment import getMD5orSHA265
|
|
|
from Model.models import Equipment_Version, EquipmentVersionLimitModel, CountryIPModel
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
@@ -166,7 +170,8 @@ class EquipmentVersionView(View):
|
|
|
return response.json(444, 'error path')
|
|
|
elif operation == 'checkVer':
|
|
|
return self.do_check_value(request_dict, response)
|
|
|
- # return self.do_check_ver(request_dict, response)
|
|
|
+ elif operation == 'checkIpcVer':
|
|
|
+ return self.check_ipc_ver(request_dict, response)
|
|
|
|
|
|
token = request_dict.get('token', None)
|
|
|
# 设备主键uid
|
|
@@ -335,6 +340,40 @@ class EquipmentVersionView(View):
|
|
|
print(url)
|
|
|
return response.json(0, res)
|
|
|
|
|
|
+ @staticmethod
|
|
|
+ def check_ipc_ver(request_dict, response):
|
|
|
+ """
|
|
|
+ NVR获取IPC升级链接
|
|
|
+ @param request_dict: 请求参数
|
|
|
+ @request_dict lang: 语言
|
|
|
+ @request_dict code: 网关设备id
|
|
|
+ @request_dict now_ver: 设备当前版本
|
|
|
+ @param response: 响应对象
|
|
|
+ @return: response
|
|
|
+ """
|
|
|
+ lang = request_dict.get('lang', None)
|
|
|
+ code = request_dict.get('code', None)
|
|
|
+ now_ver = request_dict.get('now_ver', None)
|
|
|
+
|
|
|
+ if not all([code, lang, now_ver]):
|
|
|
+ return response.json(902, {'param': 'code, lang, ver'})
|
|
|
+ equipment_version_qs = Equipment_Version.objects.filter(code=code, status=1, lang=lang).order_by('-data_joined')
|
|
|
+ if not equipment_version_qs.exists():
|
|
|
+ return response.json(902)
|
|
|
+ equipment = equipment_version_qs[0]
|
|
|
+ file_path = equipment.filePath
|
|
|
+ max_ver = equipment.max_ver
|
|
|
+ if now_ver > max_ver:
|
|
|
+ return response.json(902)
|
|
|
+ url = SERVER_DOMAIN + 'OTA/downloadsPack/' + file_path
|
|
|
+ res = {
|
|
|
+ "url": url,
|
|
|
+ "fileSize": equipment.fileSize,
|
|
|
+ "Description": equipment.Description,
|
|
|
+ "softwareVersion": equipment.softwareVersion
|
|
|
+ }
|
|
|
+ return response.json(0, res)
|
|
|
+
|
|
|
def do_query(self, request_dict, response):
|
|
|
mci = request_dict.get('mci', None)
|
|
|
page = request_dict.get('page', None)
|