|
@@ -3,7 +3,6 @@
|
|
import json
|
|
import json
|
|
import operator
|
|
import operator
|
|
import time
|
|
import time
|
|
-from bisect import bisect_left
|
|
|
|
|
|
|
|
import oss2
|
|
import oss2
|
|
from django.db import transaction
|
|
from django.db import transaction
|
|
@@ -522,29 +521,44 @@ class DeviceManagement(View):
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
- def edit_app_device_type(request_dict, response):
|
|
|
|
|
|
+ def edit_app_device_type(request_dict, request, response):
|
|
# app_device_type表数据
|
|
# app_device_type表数据
|
|
app_device_type_id = request_dict.get('app_device_type__id', None)
|
|
app_device_type_id = request_dict.get('app_device_type__id', None)
|
|
model = request_dict.get('model', None)
|
|
model = request_dict.get('model', None)
|
|
type = request_dict.get('type', None)
|
|
type = request_dict.get('type', None)
|
|
- icon = request_dict.get('icon', None)
|
|
|
|
|
|
+ icon = request.FILES.get('icon', None)
|
|
# device_name_language表数据
|
|
# device_name_language表数据
|
|
device_name_language_id = request_dict.get('app_device_type__devicenamelanguage__id', None)
|
|
device_name_language_id = request_dict.get('app_device_type__devicenamelanguage__id', None)
|
|
lang = request_dict.get('lang', None)
|
|
lang = request_dict.get('lang', None)
|
|
name = request_dict.get('name', None)
|
|
name = request_dict.get('name', None)
|
|
sort = request_dict.get('sort', None)
|
|
sort = request_dict.get('sort', None)
|
|
|
|
+ version_number = request_dict.get('version_number', None)
|
|
|
|
|
|
- if not all([app_device_type_id, model, type, icon, device_name_language_id, lang, name, sort]):
|
|
|
|
|
|
+ if not all([app_device_type_id, model, type, device_name_language_id, lang, name, sort]):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
-
|
|
|
|
try:
|
|
try:
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
- AppDeviceType.objects.filter(id=app_device_type_id).update(model=model, type=type, icon=icon)
|
|
|
|
|
|
+ if icon:
|
|
|
|
+ icon_path = 'https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/{}'.format(icon)
|
|
|
|
+ AppDeviceType.objects.filter(id=app_device_type_id)\
|
|
|
|
+ .update(model=model, type=type, icon=icon_path, app_version_number_id=version_number)
|
|
|
|
+ bucket_name = 'ansjerfilemanager'
|
|
|
|
+ file_key = 'app/device_type_images/{}'.format(icon)
|
|
|
|
+ s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[1], AWS_SECRET_ACCESS_KEY[1], AWS_SES_ACCESS_REGION)
|
|
|
|
+ # 地址:https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/camera_c190.png
|
|
|
|
+ s3.upload_file_obj(
|
|
|
|
+ bucket_name,
|
|
|
|
+ file_key,
|
|
|
|
+ icon,
|
|
|
|
+ {'ContentType': icon.content_type, 'ACL': 'public-read'})
|
|
|
|
+ else:
|
|
|
|
+ AppDeviceType.objects.filter(id=app_device_type_id)\
|
|
|
|
+ .update(model=model, type=type, app_version_number_id=version_number)
|
|
DeviceNameLanguage.objects.filter(id=device_name_language_id).update(lang=lang, name=name, sort=sort)
|
|
DeviceNameLanguage.objects.filter(id=device_name_language_id).update(lang=lang, name=name, sort=sort)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|
|
- return response.json(500, repr(e))
|
|
|
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
def delete_app_device_type(request_dict, response):
|
|
def delete_app_device_type(request_dict, response):
|
|
@@ -559,7 +573,7 @@ class DeviceManagement(View):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|
|
- return response.json(500, repr(e))
|
|
|
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
def reset_all(request, request_dict, response):
|
|
def reset_all(request, request_dict, response):
|