|
@@ -39,20 +39,23 @@ class DeviceLogView(View):
|
|
|
|
|
|
def getUploadUrl(self, request_dict, response):
|
|
def getUploadUrl(self, request_dict, response):
|
|
uid = request_dict.get('uid', None)
|
|
uid = request_dict.get('uid', None)
|
|
|
|
+ serial_number = request_dict.get('serial_number', None)
|
|
file_type = request_dict.get('file_type', None)
|
|
file_type = request_dict.get('file_type', None)
|
|
file_num = int(request_dict.get('file_num', 1))
|
|
file_num = int(request_dict.get('file_num', 1))
|
|
|
|
|
|
- if not all([uid, file_type]):
|
|
|
|
|
|
+ # uid,serial_number二传一
|
|
|
|
+ if not (uid or serial_number and file_type):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
|
|
try:
|
|
try:
|
|
- uid = CommonService.decode_data(uid)
|
|
|
|
|
|
+ device_id = uid if uid else serial_number
|
|
|
|
+ # device_id = CommonService.decode_data(device_id)
|
|
put_url_list = []
|
|
put_url_list = []
|
|
for num in range(file_num):
|
|
for num in range(file_num):
|
|
# 日志文件名
|
|
# 日志文件名
|
|
name = CommonService.createOrderID()
|
|
name = CommonService.createOrderID()
|
|
filename = str(name) + '.' + file_type
|
|
filename = str(name) + '.' + file_type
|
|
- obj = 'device_log/{uid}/'.format(uid=uid) + filename
|
|
|
|
|
|
+ obj = 'device_log/{device_id}/'.format(device_id=device_id) + filename
|
|
aws_s3_client = boto3.client(
|
|
aws_s3_client = boto3.client(
|
|
's3',
|
|
's3',
|
|
region_name=REGION_NAME,
|
|
region_name=REGION_NAME,
|
|
@@ -77,17 +80,24 @@ class DeviceLogView(View):
|
|
|
|
|
|
def uploaded(self, request, request_dict, response):
|
|
def uploaded(self, request, request_dict, response):
|
|
uid = request_dict.get('uid', None)
|
|
uid = request_dict.get('uid', None)
|
|
|
|
+ serial_number = request_dict.get('serial_number', None)
|
|
status = request_dict.get('status', None)
|
|
status = request_dict.get('status', None)
|
|
filename = request_dict.get('filename', None)
|
|
filename = request_dict.get('filename', None)
|
|
|
|
|
|
- if not all([uid, status, filename]):
|
|
|
|
|
|
+ # uid,serial_number二传一
|
|
|
|
+ if not (uid or serial_number and status and filename):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
|
|
try:
|
|
try:
|
|
- status = int(status)
|
|
|
|
- uid = CommonService.decode_data(uid)
|
|
|
|
- ip = CommonService.get_ip_address(request)
|
|
|
|
- DeviceLogModel.objects.create(uid=uid, ip=ip, status=status, filename=filename)
|
|
|
|
|
|
+ data_dict = {
|
|
|
|
+ 'status': int(status),
|
|
|
|
+ 'ip': CommonService.get_ip_address(request),
|
|
|
|
+ }
|
|
|
|
+ if uid:
|
|
|
|
+ data_dict['uid'] = CommonService.decode_data(uid)
|
|
|
|
+ else:
|
|
|
|
+ data_dict['serial_number'] = CommonService.decode_data(serial_number)
|
|
|
|
+ DeviceLogModel.objects.create(**data_dict)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|