|
@@ -464,7 +464,7 @@ class DeviceManagement(View):
|
|
|
if lang != 'cn':
|
|
|
lang = 'en'
|
|
|
if version_number >= '2.6.2.1':
|
|
|
- return self.newAppVersion(response, app_bundle_id, lang) # 获取2.6.2.1及以上版本设备信息图标
|
|
|
+ return self.newAppVersion(response, app_bundle_id, lang, version_number) # 获取2.6.2.1及以上版本设备信息图标
|
|
|
else:
|
|
|
version_number_qs = AppVersionNumber.objects.filter(app_bundle__app_bundle_id=app_bundle_id,
|
|
|
version_number=version_number)
|
|
@@ -513,18 +513,43 @@ class DeviceManagement(View):
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
- def newAppVersion(self, response, app_bundle_id, lang):
|
|
|
- version_number_qs = AppVersionNumber.objects.filter(app_bundle__app_bundle_id=app_bundle_id) # 获取包
|
|
|
+ def newAppVersion(self, response, app_bundle_id, lang, version_number):
|
|
|
+ version_number_qs = AppVersionNumber.objects.filter(app_bundle__app_bundle_id=app_bundle_id).values(
|
|
|
+ 'version_number') # 获取包
|
|
|
if not version_number_qs.exists():
|
|
|
return response.json(173)
|
|
|
# 获取版本号
|
|
|
try:
|
|
|
app_bundle_list = []
|
|
|
+ version_qs = version_number_qs.filter(version_number=version_number).values('version_number')
|
|
|
+ if version_qs.exists():
|
|
|
+ version_number = version_qs[0]['version_number']
|
|
|
+ else:
|
|
|
+ all_version_number_qs = version_number_qs.values('version_number')
|
|
|
+ test_list = [item[key] for item in all_version_number_qs for key in item]
|
|
|
+ if version_number > test_list[-1] or version_number < test_list[0]:
|
|
|
+ version_qs = version_number_qs.filter().values('version_number').order_by('version_number')
|
|
|
+ total_list = [item[key] for item in version_qs for key in item]
|
|
|
+ version_number = total_list[-1]
|
|
|
+ else:
|
|
|
+ pos = bisect_left(test_list, version_number)
|
|
|
+ if pos == 0:
|
|
|
+ return test_list[0]
|
|
|
+ if pos == len(test_list):
|
|
|
+ return test_list[-1]
|
|
|
+ before = test_list[pos - 1]
|
|
|
+ version_qs = AppVersionNumber.objects.filter(version_number=before).values('version_number')
|
|
|
+ version_number = version_qs[0]['version_number']
|
|
|
+ all_version_list = [item[key] for item in version_number_qs for key in item]
|
|
|
+ # if version_number in all_version_list:
|
|
|
+ # index = all_version_list.index(version_number)
|
|
|
+ # else:
|
|
|
+ index = all_version_list.index(version_number) # 根据版本号获取设备信息图标
|
|
|
if app_bundle_id == 'com.ansjer.zccloud' or app_bundle_id == 'com.ansjer.zccloud_a':
|
|
|
- version_number_qs = version_number_qs.values('version_number')[0:]
|
|
|
+ version_number_qs = version_number_qs.values('version_number')[0:index + 1]
|
|
|
else:
|
|
|
- version_number_qs = version_number_qs.values('version_number')[1:]
|
|
|
- for version_number in version_number_qs:
|
|
|
+ version_number_qs = version_number_qs.values('version_number')[1:index + 1]
|
|
|
+ for version_number in version_number_qs: # 获取版本号对应的设备信息图标
|
|
|
version_number = version_number['version_number']
|
|
|
version_number_qs = AppVersionNumber.objects.filter(version_number=version_number,
|
|
|
app_bundle__app_bundle_id=app_bundle_id).values(
|