|
@@ -14,7 +14,7 @@ from django.views.generic import TemplateView
|
|
from Ansjer.config import BASE_DIR
|
|
from Ansjer.config import BASE_DIR
|
|
from Ansjer.config import SERVER_DOMAIN
|
|
from Ansjer.config import SERVER_DOMAIN
|
|
from Ansjer.config import SERVER_TYPE
|
|
from Ansjer.config import SERVER_TYPE
|
|
-from Model.models import Device_User, EquipmentVersionLimitModel, CountryIPModel
|
|
|
|
|
|
+from Model.models import Device_User, EquipmentVersionLimitModel, CountryIPModel, DeviceOTAUpgradeRecord
|
|
from Model.models import Equipment_Version
|
|
from Model.models import Equipment_Version
|
|
from Object.RedisObject import RedisObject
|
|
from Object.RedisObject import RedisObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
@@ -753,6 +753,72 @@ def checkMaxVersion(request):
|
|
res = {
|
|
res = {
|
|
'url': url,
|
|
'url': url,
|
|
}
|
|
}
|
|
|
|
+ # 记录设备OTA升级
|
|
|
|
+ createdTime = int(time.time())
|
|
|
|
+ # deviceOTA_UpgradeRecord = DeviceOTAUpgradeRecord({
|
|
|
|
+ # Equipment_package=equipmentVersion[0].eid, created_time=createdTime, oldVersion=now_version, newVersion=softwareVersion})
|
|
|
|
+ # deviceOTA_UpgradeRecord.save()
|
|
|
|
+ DeviceOTAUpgradeRecord.objects.create(
|
|
|
|
+ equipment_package=equipmentVersion[0],
|
|
|
|
+ created_time=createdTime,
|
|
|
|
+ old_version=version,
|
|
|
|
+ new_version=equipmentVersion[0].version,
|
|
|
|
+ )
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
|
|
+@csrf_exempt
|
|
|
|
+def checkMaxVersionV2(request):
|
|
|
|
+ # QT检查ota设备软件版本是否需要更新
|
|
|
|
+ response = ResponseObject()
|
|
|
|
+ if request.method == "POST":
|
|
|
|
+ request_dict = request.POST
|
|
|
|
+ elif request.method == "GET":
|
|
|
|
+ request_dict = request.GET
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444)
|
|
|
|
+ deviceType = request_dict.get('deviceType', None)
|
|
|
|
+ version = request_dict.get('version', None) # 设备版本:当前版本+设备规格代码
|
|
|
|
+ lang = request_dict.get('lang', None) # 'zh-Hans','en'
|
|
|
|
+ uid = request_dict.get('uid','null')
|
|
|
|
+ serial_number = request_dict.get('serial_number','null')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ token = request_dict.get('token',None)
|
|
|
|
+ token_object = TokenObject(token)
|
|
|
|
+ if token_object.code != 0:
|
|
|
|
+ return response.json(token_object.code)
|
|
|
|
+ user_id = token_object.userID
|
|
|
|
+
|
|
|
|
+ if not deviceType or not version:
|
|
|
|
+ return response.json(444, 'deviceType or version')
|
|
|
|
+ now_version = version[1:version.rindex('.')] # 去掉V
|
|
|
|
+ code = version[version.rindex('.') + 1:]
|
|
|
|
+ equipmentVersion = Equipment_Version.objects.filter(mci=deviceType, code=code, lang=lang,
|
|
|
|
+ status=1) # order by data_joined
|
|
|
|
+ # 判断是否有该版本存在
|
|
|
|
+ if not equipmentVersion.exists():
|
|
|
|
+ return response.json(907)
|
|
|
|
|
|
|
|
+ filePath = equipmentVersion[0].filePath
|
|
|
|
+ softwareVersion = equipmentVersion[0].softwareVersion # 可用最新版本的版本号
|
|
|
|
+ maxVersion = equipmentVersion[0].max_ver
|
|
|
|
+ if now_version >= softwareVersion:
|
|
|
|
+ # 当前版本大于等于最新版本,不需要更新
|
|
|
|
+ return response.json(902)
|
|
|
|
+ url = SERVER_DOMAIN + 'OTA/downloadsPack/' + filePath # 复用app下载ota包的方式
|
|
|
|
+ res = {
|
|
|
|
+ 'url': url,
|
|
|
|
+ }
|
|
|
|
+ # 记录设备OTA升级
|
|
|
|
+ createdTime = int(time.time())
|
|
|
|
+ DeviceOTAUpgradeRecord.objects.create(
|
|
|
|
+ equipment_package=equipmentVersion[0],
|
|
|
|
+ created_time=createdTime,
|
|
|
|
+ old_version=version,
|
|
|
|
+ new_version=equipmentVersion[0].version,
|
|
|
|
+ user_id=user_id,
|
|
|
|
+ serial_number=serial_number,
|
|
|
|
+ uid=uid,
|
|
|
|
+ )
|
|
|
|
+ print('执行成功%s' % DeviceOTAUpgradeRecord.id)
|
|
|
|
+ return response.json(0, res)
|