|
@@ -163,6 +163,9 @@ class testView(View):
|
|
|
elif operation == 'serial-repetition': # 用与测试序列号重复接口
|
|
|
response = ResponseObject('cn')
|
|
|
return self.serial_repetition_test(request_dict, response)
|
|
|
+ elif operation == 'v2/serial-repetition': # 用与测试序列号重复接口
|
|
|
+ response = ResponseObject('cn')
|
|
|
+ return self.serial_repetition_test_v2(request_dict, response)
|
|
|
elif operation == 'getSerialNumberInfo': # 序列号信息查询
|
|
|
return self.getSerialNumberInfo(request_dict, response)
|
|
|
elif operation == 'get-serial-details': # 序列号信息查询
|
|
@@ -170,6 +173,36 @@ class testView(View):
|
|
|
else:
|
|
|
return 123
|
|
|
|
|
|
+ @classmethod
|
|
|
+ def serial_repetition_test_v2(cls, request_dict, response):
|
|
|
+ try:
|
|
|
+ serial_no = request_dict.get('serialNo', None)
|
|
|
+ phone_model = request_dict.get('phoneModel', None)
|
|
|
+ if not serial_no:
|
|
|
+ return response.json(444)
|
|
|
+ with transaction.atomic():
|
|
|
+ first_serial = serial_no[:6]
|
|
|
+ first_serial_qs = TestSerialRepetition.objects.filter(serial_number__icontains=first_serial)
|
|
|
+ if first_serial_qs.exists():
|
|
|
+ result = {'serialNumber': first_serial_qs.first().serial_number,
|
|
|
+ 'phoneModel': first_serial_qs.first().phone_model,
|
|
|
+ 'createdTime': first_serial_qs.first().created_time}
|
|
|
+ return response.json(174, result)
|
|
|
+
|
|
|
+ serial_qs = TestSerialRepetition.objects.filter(serial_number=serial_no)
|
|
|
+ if not serial_qs.exists():
|
|
|
+ n_time = int(time.time())
|
|
|
+ params = {'serial_number': serial_no, 'created_time': n_time}
|
|
|
+ if phone_model:
|
|
|
+ params['phone_model'] = phone_model
|
|
|
+ TestSerialRepetition.objects.create(**params)
|
|
|
+ return response.json(0)
|
|
|
+ else:
|
|
|
+ return response.json(174)
|
|
|
+ except Exception as e:
|
|
|
+ logging.info('异常错误,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
+ return response.json(178, e)
|
|
|
+
|
|
|
@classmethod
|
|
|
def serial_repetition_test(cls, request_dict, response):
|
|
|
try:
|