|
@@ -47,7 +47,7 @@ from django.contrib.auth.hashers import make_password # 对密码加密模块
|
|
|
from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, \
|
|
|
AWS_SECRET_ACCESS_KEY, SERVER_TYPE, AWS_SES_ACCESS_REGION
|
|
|
from Model.models import Order_Model, Store_Meal, DeviceLogModel, VodBucketModel, \
|
|
|
- TestSerialRepetition, UIDCompanySerialModel, CompanySerialModel, LogModel
|
|
|
+ TestSerialRepetition, TestDeviceFindSerial, UIDCompanySerialModel, CompanySerialModel, LogModel
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -170,6 +170,8 @@ class testView(View):
|
|
|
return self.getSerialNumberInfo(request_dict, response)
|
|
|
elif operation == 'get-serial-details': # 序列号信息查询
|
|
|
return self.get_serial_details(request_dict, response, request)
|
|
|
+ elif operation == 'find_device_serial': # 查找设备序列号接口:306低功耗无Wi-Fi产品
|
|
|
+ return self.find_device_serial(request_dict, response)
|
|
|
else:
|
|
|
return 123
|
|
|
|
|
@@ -1024,3 +1026,55 @@ class testView(View):
|
|
|
LOGGER.info('异常详情,errLine:{}, errMsg:{}'
|
|
|
.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
return response.json(500)
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def find_device_serial(cls, request_dict, response):
|
|
|
+ try:
|
|
|
+ firmware_time_code_no = request_dict.get('firmwareTimeCode', None)
|
|
|
+ function_type_str = request_dict.get('functionType', None)
|
|
|
+ serial_no = request_dict.get('serialNo', None)
|
|
|
+ if not function_type_str:
|
|
|
+ return response.json(444)
|
|
|
+ with transaction.atomic():
|
|
|
+ first_firmwares_qs = TestDeviceFindSerial.objects.filter(firmware_time_code=firmware_time_code_no)
|
|
|
+ if function_type_str == 'save_firmware_code': # pc上报唯一码(固件码+时间) device_save_serial get_device_serial
|
|
|
+ if not firmware_time_code_no:
|
|
|
+ return response.json(444)
|
|
|
+ if first_firmwares_qs.exists():
|
|
|
+ return response.json(174)
|
|
|
+ else:
|
|
|
+ now_time = int(time.time())
|
|
|
+ params = {'firmware_time_code': firmware_time_code_no, 'created_time': now_time}
|
|
|
+ TestDeviceFindSerial.objects.create(**params)
|
|
|
+ return response.json(0)
|
|
|
+ elif function_type_str == 'device_save_serial': # 设备上报序列号绑定固件码 get_device_serial
|
|
|
+ if not all([firmware_time_code_no, serial_no]):
|
|
|
+ return response.json(444)
|
|
|
+ if first_firmwares_qs.exists():
|
|
|
+ serial_no_qs = TestDeviceFindSerial.objects.filter(serial_number=serial_no)
|
|
|
+ if serial_no_qs.exists():
|
|
|
+ return response.json(174)
|
|
|
+ data_id = first_firmwares_qs.first().id
|
|
|
+ TestDeviceFindSerial.objects.filter(id=data_id).update(serial_number=serial_no)
|
|
|
+ return response.json(0)
|
|
|
+ else:
|
|
|
+ return response.json(173)
|
|
|
+
|
|
|
+ elif function_type_str == 'get_device-serial': # 根据固件码获取序列号
|
|
|
+ if not firmware_time_code_no:
|
|
|
+ return response.json(444)
|
|
|
+ if first_firmwares_qs.exists():
|
|
|
+ result = {'Id': first_firmwares_qs.first().id,
|
|
|
+ 'firmwareTimeCode': firmware_time_code_no,
|
|
|
+ 'serialNumber': first_firmwares_qs.first().serial_number,
|
|
|
+ 'createdTime': first_firmwares_qs.first().created_time}
|
|
|
+ print('返回结果 : %s', result)
|
|
|
+ return response.json(0, result)
|
|
|
+ else:
|
|
|
+ return response.json(173)
|
|
|
+ else:
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ LOGGER.info('异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
+ return response.json(178, e)
|